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 之前版本中的警告。