CMP0056¶
警告
此策略的 OLD
行为已在 CMake 4.0 版本中移除。此策略必须通过调用 cmake_minimum_required()
或 cmake_policy()
来设置为 NEW
。
版本 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 版本中引入的。在 4.0 版本中移除之前,它可以通过 cmake_policy()
或 cmake_minimum_required()
来设置。如果未设置,CMake 默认*不会*发出警告,并使用 OLD
行为。
请参阅 CMAKE_POLICY_WARNING_CMP0056
变量的文档,以控制 CMake 4.0 版本之前的警告。