CMP0131¶
在版本 3.24 中添加。
LINK_LIBRARIES
支持 $<LINK_ONLY:...>
生成器表达式。
CMake 3.23 以下的版本将 $<LINK_ONLY:...>
生成器表达式仅用于 INTERFACE_LINK_LIBRARIES
。在 LINK_LIBRARIES
中使用时,始终使用 $<LINK_ONLY:...>
内置保护的内容,即使在收集非链接使用要求(例如 INTERFACE_COMPILE_DEFINITIONS
)时也是如此。
如果在 LINK_LIBRARIES
中使用 $<LINK_ONLY:...>
时,CMake 3.24 及更高版本的首选是支持 $<LINK_ONLY:...>
,仅对链接依赖性使用受保护的内容,不使用其他使用要求。此策略为尚未更新以考虑此更改的项目提供兼容性。
此策略的 OLD
行为是使用 LINK_LIBRARIES
的内容,内容受 $<LINK_ONLY:...>
保护,即使是用于非链接使用要求时也是如此。此策略的 NEW
行为仅对链接依赖项使用受保护的内容。
此项策略在 CMake 3.24 版本中引入。可以通过 cmake_policy()
或 cmake_minimum_required()
设置。如果未设置,CMake 不会 发出警告,并使用 OLD
行为。
注意
策略的 OLD
行为 定义上已弃用 并且 可以在 未来版本的 CMake 中删除。