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