CMP0066¶
3.7 版本中新增。
在 try_compile() 的源文件签名中尊重每个配置的标志。
为了使测试编译能够像在主项目中一样工作,try_compile() 命令的源文件签名使用了测试项目中的 CMAKE_<LANG>_FLAGS 变量的值。然而,CMake 3.6 及更早版本不处理 CMAKE_<LANG>_FLAGS_DEBUG 变量中这样的配置特定编译器标志。CMake 3.7 及更高版本更倾向于也处理配置特定编译器标志。此策略为不期望使用配置特定编译器标志的项目提供了兼容性。
此策略的 OLD 行为是忽略 CMAKE_<LANG>_FLAGS_DEBUG 等配置特定标志变量,并且仅使用 CMake 为当前编译器和平台内置的默认值。
此策略的 NEW 行为是处理 CMAKE_<LANG>_FLAGS_DEBUG 等配置特定标志变量。
此策略在 CMake 版本 3.7 中引入。它可以由 cmake_policy() 或 cmake_minimum_required() 设置。如果未设置,CMake 默认不发出警告,并使用 OLD 行为。
有关控制警告的信息,请参阅 CMAKE_POLICY_WARNING_CMP0066 变量的文档。
注意
策略的 OLD 行为 根据定义已被弃用,并可能在未来的 CMake 版本中被移除。