CMP0056¶
警告
此策略的 OLD 行为已在 CMake 4.0 版本中移除。此策略必须通过调用 cmake_minimum_required() 或 cmake_policy() 来设置为 NEW。
版本 3.2 中新增。
在 try_compile() 的 source-file 签名中考虑链接标志。
命令的 source-file 签名会生成一个 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 版本 4.0 移除之前,它可以通过 cmake_policy() 或 cmake_minimum_required() 进行设置。如果未设置,CMake 默认不会发出警告,并使用 OLD 行为。
请参阅 CMAKE_POLICY_WARNING_CMP0056 变量的文档,以控制 CMake 4.0 之前的版本中的警告。