CMP0066

在 3.7 版本加入.

尊重 try_compile() 源文件签名中的每个配置标志。

try_compile() 命令的源文件签名使用测试项目中的 CMAKE_<LANG>_FLAGS 变量的值,以便测试编译像在主项目中一样工作。但是,CMake 3.6 及更低版本也不支持特定于配置的编译器标志,例如 CMAKE_<LANG>_FLAGS_DEBUG 变量中的标志。 CMake 3.7 及更高版本也更喜欢使用特定于配置的编译器标志。此策略为不希望使用特定于配置的编译器标志的项目提供兼容性。

此策略的“旧”行为是忽略配置特定的标志变量,如 CMAKE_<LANG>_FLAGS_DEBUG,并且仅使用 CMake 的内置默认值用于当前编译器和平台。

此策略的“新”行为是尊重配置特定的标志变量,如 CMAKE_<LANG>_FLAGS_DEBUG

此策略是在 CMake 版本 3.7 中引入的。与大多数政策不同,CMake 版本 |release|当此策略未设置且仅使用“旧”行为时,默认情况下*不*发出警告。请参阅 CMAKE_POLICY_WARNING_CMP0066 变量的文档以控制警告。

备注

策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。