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