INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE¶
添加于 3.24 版本。
此属性指定了一个库列表,库的使用者**不应**将其视为直接链接依赖项。
可以设置此目标属性来排除从属目标的最终直接链接依赖项集合中的条目。此属性在处理完所有从属目标的 INTERFACE_LINK_LIBRARIES_DIRECT
目标属性之后进行处理,因此从直接链接依赖项中排除优先于包含。
从属目标的直接链接依赖项的初始集合由其 LINK_LIBRARIES
目标属性指定。间接链接依赖项由直接链接依赖项的 INTERFACE_LINK_LIBRARIES
属性的传递闭包指定。任何链接依赖项都可以使用 INTERFACE_LINK_LIBRARIES_DIRECT
目标属性指定额外的直接链接依赖项。然后,将过滤直接链接依赖项的集合,以排除任何依赖项的 INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE
目标属性命名的项。
从从属目标的直接链接依赖项中排除某个项并不意味着从属目标将不会链接该项。该项仍然可能作为间接链接依赖项通过其他依赖项的 INTERFACE_LINK_LIBRARIES
属性链接。
INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE
的值可以使用 generator expressions
。
注意
INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE
目标属性旨在用于高级用例,例如将静态插件注入到使用者可执行文件中。它不应被用作组织对 target_link_libraries()
的常规调用的替代品。
有关更多详细信息和示例,请参阅 INTERFACE_LINK_LIBRARIES_DIRECT
目标属性文档。