CMP0047 — CMake 4.1.2 Documentation

# CMP0047

Warning

The `OLD` behavior of this policy was removed in CMake version 4.0. This policy must be set to `NEW` by a call to `cmake_minimum_required()` or `cmake_policy()`.

Use `QCC` compiler id for the qcc drivers on QNX.

CMake 3.0 and above recognize that the QNX qcc compiler driver is different from the GNU compiler. CMake now prefers to present this to projects by setting the `CMAKE_<LANG>_COMPILER_ID` variable to `QCC` instead of `GNU`. However, existing projects may assume the compiler id for QNX qcc is just `GNU` as it was in CMake versions prior to 3.0. Therefore this policy determines for QNX qcc 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 the `GNU` compiler id for the qcc and QCC compiler drivers. The `NEW` behavior for this policy is to use the `QCC` compiler id for those drivers.

This policy was introduced in CMake version 3.0. Prior to removal in CMake version 4.0, it could be set by `cmake_policy()` or `cmake_minimum_required()`. If it was not set, CMake did not warn by default, and used `OLD` behavior.

See documentation of the `CMAKE_POLICY_WARNING_CMP0047` variable to control the warning in CMake versions before 4.0.