Make the error output more-easy for the regex engine to handle.

Apparently it can not handle lines ending in ".
Don't run the CxxDialect test if CMP0025 is not set on APPLE.
Order cmGeneratorTargets deterministically.

Use a string as the key in a map, instead of a cmTarget*.
Add a null check to the generator target accessor.
Port some of the generator API to cmGeneratorTarget.

Just enough to reach the BuildMacContentDirectory method and the
NeedRelinkBeforeInstall methods.

In the future, those methods can be moved to cmGeneratorTarget.
Merge topic 'use-generator-target' into next

d9c87ca Port some of the generator API to cmGeneratorTarget.
c1ad847 Add a null check to the generator target accessor.
8451e4d Order cmGeneratorTargets deterministically.
Merge topic 'target_compile_features' into next

fab732b Don't run the CxxDialect test if CMP0025 is not set on APPLE.
1cb01ac Make the error output more-easy for the regex engine to handle.
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.

Clang-cl is capable of this feature, but that is not yet released,
nor have I tested it.
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.
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

99bff42 Base the target_compile_features command on cmTargetPropCommandBase.
a273c7c cmTargetPropCommandBase: Change the interface to return bool.
350b037 cmTarget: Transitively evaluate compiler features.
c55df34 cmTarget: Allow populating COMPILE_FEATURES using generator expressions.
df9583d cmTarget: Make COMPILE_FEATURES available as a target property.
dee881c Add target_compile_features command.
897c203 Record compilers capable of msvcxx_sealed feature.
c35c003 Record compilers capable of the gnuxx_typeof feature.
7a4b186 Record the compilers capable of the cxx_delegating_constructors feature.
91f9aed cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties.