CMP0129¶
在 3.23 版本中添加。
MCST LCC 编译器的编译器 ID 现在是 LCC
,而不是 GNU
。
CMake 3.23 及以上版本将 MCST LCC 编译器识别为与 GNU
不同的编译器,它有自己的命令行和功能集。CMake 现在倾向于通过将 CMAKE_<LANG>_COMPILER_ID
变量设置为 LCC
而不是 GNU
来向项目呈现这一点。然而,现有的项目可能假设 LCC 的编译器 ID 是 GNU
,就像 CMake 3.23 之前的版本一样。因此,此策略确定对于 MCST LCC 编译器,在通过 project()
或 enable_language()
命令启用 <LANG>
语言后,在 CMAKE_<LANG>_COMPILER_ID
变量中报告哪个编译器 ID。该策略必须在调用任一命令之前设置。
此策略的 OLD
行为是使用编译器 ID GNU
(并将 CMAKE_<LANG>_COMPILER_VERSION
设置为支持的 GNU 编译器版本。) 此策略的 NEW
行为是使用编译器 ID LCC
,并将 CMAKE_<LANG>_SIMULATE_ID
设置为 GNU
,并将 CMAKE_<LANG>_SIMULATE_VERSION
设置为支持的 GNU 编译器版本。
此策略在 CMake 3.23 版本中引入。可以通过 cmake_policy()
或 cmake_minimum_required()
设置。如果未设置,CMake 默认情况下 *不* 警告,并使用 OLD
行为。
请参阅 CMAKE_POLICY_WARNING_CMP0129
变量的文档以控制警告。
注意
策略的 OLD
行为 按定义已弃用
,并可能在 CMake 的未来版本中移除。