CMP0025

Apple Clang 的编译器 ID 现在为 AppleClang

CMake 3.0 及更高版本认识到,Apple Clang 与上游 Clang 是不同的编译器,并且它们具有不同的版本号。现在,CMake 更愿意向项目显示这一点,方法是将 CMAKE_<LANG>_COMPILER_ID 变量设置为 AppleClang 而非 Clang。然而,现有项目可能假设 Apple Clang 的编译器 ID 只是 Clang,因为在 3.0 之前的 CMake 版本中它确实如此。因此,此策略确定对于 Apple Clang,在语言 <LANG> 通过 project()enable_language() 命令启用之后,在 CMAKE_<LANG>_COMPILER_ID 变量中报告哪个编译器 ID。此策略必须在调用任一命令之前设置。

此策略的 OLD 行为是使用编译器 ID Clang。此策略的 NEW 行为是使用编译器 ID AppleClang

此策略于 CMake 版本 3.0 中引入。它可能由 cmake_policy()cmake_minimum_required() 设置。如果它未设置,CMake 在默认情况下不会产生警告,并且使用 OLD 行为。

有关控制警告的 CMAKE_POLICY_WARNING_CMP0025 变量的文档,请参见。

注意

OLD 行为的策略是 废弃的,并且在未来版本的 CMake 中可能被移除。