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 中被移除。