CMP0067¶
在 3.8 版本加入.
在 try_compile() 源文件签名中遵循语言标准。
try_compile() 源文件签名旨在允许调用者检查他们是否能够使用当前工具链编译给定的源文件。为了匹配编译器行为,任何语言标准模式都应该匹配。但是,CMake 3.7 及以下版本并没有这样做。 CMake 3.8 及更高版本更喜欢使用变量的值来遵循 C、CXX (C++) 和 CUDA 的语言标准设置:
此策略为不希望自动使用语言标准设置的项目提供兼容性。
此策略的“旧”行为是在生成“try_compile”测试项目时忽略语言标准设置变量。此政策的“新”行为是遵守语言标准设置变量。
此策略是在 CMake 版本 3.8 中引入的。与大多数政策不同,CMake 版本 |release|当此策略未设置且仅使用“旧”行为时,默认情况下*不*发出警告。请参阅 CMAKE_POLICY_WARNING_CMP0067 变量的文档以控制警告。
备注
策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。