CMP0129 — CMake 4.0.1 Documentation (original) (raw)

Added 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 theCMAKE__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__COMPILER_IDvariable 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 setCMAKE__COMPILER_VERSION to the supported GNU compiler version.)NEW behavior for this policy is to use compiler id LCC, and setCMAKE__SIMULATE_ID to GNU, andCMAKE__SIMULATE_VERSION to the supported GNU compiler version.

This policy was introduced in CMake version 3.23. It may be set by cmake_policy() or cmake_minimum_required(). If it is not set, CMake does not warn by default, and uses OLD behavior.

See documentation of theCMAKE_POLICY_WARNING_CMP0129variable to control the warning.