CMP0129ΒΆ
New in version 3.23.
Compiler id for MCST LCC compilers is now LCC
, not GNU
.
CMake 3.23 and above recognize MCST LCC compiler as a different from GNU
,
with its own command line and set of capabilities.
CMake now prefers to present this to projects by setting the
CMAKE_<LANG>_COMPILER_ID
variable to LCC
instead
of GNU
. However, existing projects may assume the compiler id for
LCC is GNU
as it was in CMake versions prior to 3.23.
Therefore this policy determines for MCST LCC compiler which
compiler id to report in the CMAKE_<LANG>_COMPILER_ID
variable after language <LANG>
is enabled by the project()
or enable_language()
command. The policy must be set prior
to the invocation of either command.
The OLD
behavior for this policy is to use compiler id GNU
(and set
CMAKE_<LANG>_COMPILER_VERSION
to the supported GNU compiler version.)
NEW
behavior for this policy is to use compiler id LCC
, and set
CMAKE_<LANG>_SIMULATE_ID
to GNU
, and
CMAKE_<LANG>_SIMULATE_VERSION
to the supported GNU compiler version.
This policy was introduced in CMake version 3.23. Use the
cmake_policy()
command to set this policy to OLD
or NEW
explicitly.
Unlike most policies, CMake version 3.24.2 does not warn
by default when this policy is not set and simply uses OLD
behavior.
See documentation of the
CMAKE_POLICY_WARNING_CMP0129
variable to control the warning.
Note
The OLD
behavior of a policy is
deprecated by definition
and may be removed in a future version of CMake.