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 行为根据定义已被 deprecated by definition 弃用,并可能在未来的 CMake 版本中删除。