CMP0056¶
在 3.2 版本中添加。
在 try_compile()
源文件签名中遵守链接标记。
该 try_compile()
命令的源文件签名生成一个 CMakeLists.txt
文件用于将源文件构建为一个可执行文件。为了以调用项目编译源文件的方式编译源文件,生成的项目将 CMAKE_<LANG>_FLAGS
变量的值设置为调用项目中的值。在某些情况下,可能还需要 CMAKE_EXE_LINKER_FLAGS
变量的值,但是 CMake 3.1 及更早版本并未在生成的项目中将其设置。CMake 3.2 及更高版本更愿意设置它,以便同时遵守链接器标记和编译器标记。此策略与 3.2 之前的行为兼容。
对此策略而言,OLD
行为是不设置 CMAKE_EXE_LINKER_FLAGS
变量的值在生成的测试项目中。对此策略而言,NEW
行为是将 CMAKE_EXE_LINKER_FLAGS
变量的值在测试项目中设置为与调用项目中相同的值。
如果项目代码未明确设置此策略,则用户可以通过在缓存中定义 CMAKE_POLICY_DEFAULT_CMP0056
变量在命令行中设置此策略。
此策略是从 CMake 版本 3.2 中引入的。可以通过以下方式设置该策略:cmake_policy()
或 cmake_minimum_required()
。如果未设置其值,则 CMake 默认情况下不会发出警告,并使用 OLD
行为。
参阅 CMAKE_POLICY_WARNING_CMP0056
变量的文档以控制警告。
注意
一项策略的 OLD
行为从定义上来讲就是 已弃用
,并且可能会在 CMake 的未来版本中将其移除。