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