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 变量的文档,以控制 CMake 4.0 之前版本中的警告。