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 确定在 project() 或 enable_language 启用语言 ``<LANG>`() 后,在 CMAKE_<LANG>_COMPILER_ID 变量中报告哪个编译器 ID `命令。该策略必须在调用任一命令之前设置。
此策略的“旧”行为是使用编译器 ID“Clang”。此政策的“新”行为是使用编译器 ID“AppleClang”。
此策略是在 CMake 3.0 版中引入的。使用 cmake_policy() 命令将此策略显式设置为 OLD 或 NEW。与大多数政策不同,CMake 版本 |release|当此策略未设置且仅使用“旧”行为时,默认情况下*不*发出警告。请参阅 CMAKE_POLICY_WARNING_CMP0025 变量的文档以控制警告。
备注
策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。