Fix macro call.
Merge topic 'target_compile_features' into next

1532446 Fix macro call.
Fix policy setting.
Merge topic 'target_compile_features' into next

d5b2b8f Fix policy setting.
Fix build on Windows.
Merge topic 'target_compile_features' into next

729aafc Fix build on Windows.
Generate the feature test source file in CMakeFiles.
Add test which outputs the feature_tests.cxx file compiled.
Merge topic 'target_compile_features' into next

394032b Add test which outputs the feature_tests.cxx file compiled.
5975457 Generate the feature test source file in CMakeFiles.
Make this wok with spaces in the path.
Merge topic 'target_compile_features' into next

9ae2666 Make this wok with spaces in the path.
Don't load Clang-CXX from AppleClang-CXX.

The Clang-CXX module is going to get version-specific checks, and
the version system for AppleClang is not the same as Clang.
Add some COMPILE_OPTIONS for specifying C++ dialect.

These are compiler-specific, compiler version specific, extension specific
and standard version specific.
cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties.

These are used to determine whether to add -std=c++11, -std=gnu++11
etc flags on the compile line.
Record the compilers capable of the cxx_delegating_constructors feature.

Add a feature test using the compiler macros and the preprocessor to
determine available features. Add a unit test which outputs the
feature test file compiled. Record the list of features in
the SystemInformation unit test.

Add a CMAKE_CXX_COMPILE_FEATURES variable which contains all features
known to the loaded compiler, and a CMAKE_CXX_KNOWN_FEATURES variable
containing all features known to CMake. Add language standard specific
variables for internal use to determine the standard-specific compile
flags to use. Add internal variables matching CMAKE_PP_NAME_<feature>
for each feature. Those variables are used as preprocessor defines.
Record compilers capable of the gnuxx_typeof feature.
Record compilers capable of msvcxx_sealed feature.
Add target_compile_features command.

This can be used to set the compiler features required by particular
targets. An error is issued at CMake time if the compiler does not
support the required feature. If a language dialect flag is required
by the features used, that will be added automatically.
cmTarget: Make COMPILE_FEATURES available as a target property.
cmTarget: Allow populating COMPILE_FEATURES using generator expressions.