CMP0025 — CMake 4.1.4 Documentation

# CMP0025

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()`.

Compiler id for Apple Clang is now `AppleClang`.

CMake 3.0 and above recognize that Apple Clang is a different compiler than upstream Clang and that they have different version numbers. CMake now prefers to present this to projects by setting the `CMAKE_<LANG>_COMPILER_ID` variable to `AppleClang` instead of `Clang`. However, existing projects may assume the compiler id for Apple Clang is just `Clang` as it was in CMake versions prior to 3.0. Therefore this policy determines for Apple Clang 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 `Clang`. The `NEW` behavior for this policy is to use compiler id `AppleClang`.

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_CMP0025` variable to control the warning in CMake versions before 4.0.