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
行为经过deprecated by definition
,并且可能会在 CMake 的未来版本中被删除。