CMP0181

4.0 版本新增。

CMAKE_EXE_LINKER_FLAGSCMAKE_EXE_LINKER_FLAGS_<CONFIG>CMAKE_SHARED_LINKER_FLAGSCMAKE_SHARED_LINKER_FLAGS_<CONFIG>CMAKE_MODULE_LINKER_FLAGSCMAKE_MODULE_LINKER_FLAGS_<CONFIG> 变量会被解析并重新引用,并且支持 LINKER: 前缀。

CMake 3.31 及更低版本直接使用这些变量的内容。

CMake 4.0 及更高版本会解析这些变量的内容并管理特殊字符的转义。此外,现在可以识别并扩展 LINKER: 前缀。

此策略的 OLD 行为是直接使用 CMAKE_EXE_LINKER_FLAGSCMAKE_EXE_LINKER_FLAGS_<CONFIG>CMAKE_SHARED_LINKER_FLAGSCMAKE_SHARED_LINKER_FLAGS_<CONFIG>CMAKE_MODULE_LINKER_FLAGSCMAKE_MODULE_LINKER_FLAGS_<CONFIG> 变量的内容。

此策略的 NEW 行为是解析并重新引用 CMAKE_EXE_LINKER_FLAGSCMAKE_EXE_LINKER_FLAGS_<CONFIG>CMAKE_SHARED_LINKER_FLAGSCMAKE_SHARED_LINKER_FLAGS_<CONFIG>CMAKE_MODULE_LINKER_FLAGSCMAKE_MODULE_LINKER_FLAGS_<CONFIG> 变量的内容,并扩展 LINKER: 前缀。

此策略在 CMake 4.0 版本中引入。它可以由 cmake_policy()cmake_minimum_required() 设置。如果未设置,CMake 不会发出警告,并使用 OLD 行为。

注意

策略的 OLD 行为根据定义已弃用,并可能在 CMake 的未来版本中移除。