enable_language: Default platform variables updated too late
The builtin WIN32
, UNIX
, and APPLE
variables are set by code here based on the host platform. They are removed by CMakeSystemSpecificInformation
here in preparation for a Platform/${CMAKE_SYSTEM_NAME}
module to set information about the actual target platform, which may be different when cross-compiling.
In between these two steps, we may enable languages, in which case the CMakeDetermine${LANG}Compiler
module is loaded with WIN32
, UNIX
, or APPLE
possibly defined based on the host platform instead of the target platform.