CMP0067¶
版本 3.8 新增。
在 try_compile()
的源文件签名中遵循语言标准。
try_compile()
的源文件签名旨在允许调用者检查他们是否能够使用当前工具链编译给定的源文件。为了匹配编译器的行为,任何语言标准模式都应该匹配。然而,CMake 3.7 及以下版本并未这样做。CMake 3.8 及更高版本倾向于使用以下变量的值来遵循 C、CXX(C++)和 CUDA 的语言标准设置:
此策略为不期望自动使用语言标准设置的项目提供了兼容性。
此策略的 OLD
行为是在生成 try_compile
测试项目时忽略语言标准设置变量。此策略的 NEW
行为是遵循语言标准设置变量。
此策略在 CMake 版本 3.8 中引入。它可以由 cmake_policy()
或 cmake_minimum_required()
设置。如果未设置,CMake 默认不发出警告,而是使用 OLD
行为。
有关控制警告的信息,请参阅 CMAKE_POLICY_WARNING_CMP0067
变量的文档。
注意
策略的 OLD
行为是 按定义弃用
,并且可能会在未来版本的 CMake 中移除。