Fix the recording of MSVC features.
Record compilers capable of msvcxx_sealed feature.
Add target_compile_features command.
cmTarget: Make COMPILE_FEATURES available as a target property.
cmTarget: Allow populating COMPILE_FEATURES using generator expressions.
cmTarget: Transitively evaluate compiler features.

Extend the interface of the target_compile_features command with
PUBLIC and INTERFACE keywords. Populate the INTERFACE_COMPILER_FEATURES
target property if they are set. Consume the INTERFACE_COMPILER_FEATURES
target property from linked dependent targets to determine the final
required compiler features and the compile flag, if needed.
cmTargetPropCommandBase: Change the interface to return bool.

This is needed for the target_compile_features command, which
may fail at configure time if an invalid feature is specified.
Base the target_compile_features command on cmTargetPropCommandBase.

This gives us 'free' handling of IMPORTED, ALIAS, INTERFACE,
non-compilable and missing targets.
Merge topic 'target_compile_features' into next

5eba3c3 Fix the recording of MSVC features.
Merge topic 'target_compile_features' into next

137443d Base the target_compile_features command on cmTargetPropCommandBase.
f10c2b3 cmTargetPropCommandBase: Change the interface to return bool.
c6415ed cmTarget: Transitively evaluate compiler features.
750f01c cmTarget: Allow populating COMPILE_FEATURES using generator expressions.
781dd14 cmTarget: Make COMPILE_FEATURES available as a target property.
8cb3e93 Add target_compile_features command.
6325d87 Record compilers capable of msvcxx_sealed feature.
Fix typo.
Merge topic 'target_compile_features' into next

58750b2 Fix typo.
Record compilers capable of the gnuxx_typeof feature.
Record compilers capable of msvcxx_sealed feature.
Add target_compile_features command.
cmTarget: Make COMPILE_FEATURES available as a target property.
cmTarget: Allow populating COMPILE_FEATURES using generator expressions.
cmTarget: Transitively evaluate compiler features.

Extend the interface of the target_compile_features command with
PUBLIC and INTERFACE keywords. Populate the INTERFACE_COMPILER_FEATURES
target property if they are set. Consume the INTERFACE_COMPILER_FEATURES
target property from linked dependent targets to determine the final
required compiler features and the compile flag, if needed.
cmTargetPropCommandBase: Change the interface to return bool.

This is needed for the target_compile_features command, which
may fail at configure time if an invalid feature is specified.
Base the target_compile_features command on cmTargetPropCommandBase.

This gives us 'free' handling of IMPORTED, ALIAS, INTERFACE,
non-compilable and missing targets.