CMP0099¶
在 3.17 版本中添加。
链接属性通过静态库的私有依赖项进行传递。
在 CMake 3.16 及更早版本中,构建系统生成过程中对目标属性 INTERFACE_LINK_OPTIONS
、INTERFACE_LINK_DIRECTORIES
和 INTERFACE_LINK_DEPENDS
的评估不遵循静态库的私有依赖项,这些依赖项出现在其 INTERFACE_LINK_LIBRARIES
中,并由 LINK_ONLY
生成器表达式保护。只有库本身会传播以链接依赖的二进制文件。
CMake 3.17 及更高版本倾向于传播所有接口链接属性。此策略为尚未更新以适应新行为的项目提供了兼容性。
此策略的 OLD
行为是不传播接口链接属性。此策略的 NEW
行为是传播接口链接属性。
版本 3.30 新增: 策略 CMP0166
也使这三个传递链接属性的 TARGET_PROPERTY
评估遵循静态库的私有依赖项。
此策略在 CMake 3.17 版本中引入。它可以通过 cmake_policy()
或 cmake_minimum_required()
设置。如果未设置,CMake 不会发出警告,并使用 OLD
行为。
注意
策略的 OLD
行为根据定义已弃用
,并可能在未来版本的 CMake 中删除。