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