导航

  • 索引
  • 下一页 |
  • 上一页 |
  • CMake »
  • 3.26.4 Documentation »
  • cmake-属性(7) »
  • INTERFACE_LINK_LIBRARIES

INTERFACE_LINK_LIBRARIES¶

列出库的公共接口库。

此属性包含传递链接依赖项的列表。当使用 target_link_libraries 命令将目标链接到另一个目标时,列出的库(以及递归地链接接口库)也将提供给另一个目标。如果策略:policy:CMP0022 为 OLD 或未设置,则此属性将被 LINK_INTERFACE_LIBRARIES 或 LINK_INTERFACE_LIBRARIES_<CONFIG> 属性覆盖。

生成器在为依赖目标构造链接规则时使用此属性的值。依赖目标的直接链接依赖项,由其 LINK_LIBRARIES 目标属性指定,首先链接,然后是来自直接依赖项的传递闭包的间接依赖项 INTERFACE_LINK_LIBRARIES 属性。请参阅政策:policy:CMP0022。

INTERFACE_LINK_LIBRARIES 的内容可以使用语法为``$<...>`` 的“生成器表达式”。请参阅 cmake-generator-expressions(7) 手册了解可用的表达式。有关定义构建系统属性的更多信息,请参阅 cmake-buildsystem(7) 手册。

备注

调用 target_link_libraries(<target> ...) 可能会更新 <target> 上的此属性。如果 <target> 不是在与调用相同的目录中创建的,那么 target_link_libraries() 将用 ::@(directory-id);...;::@ 的形式包装每个条目,其中 ::@ 是文字,而 (directory-id) 未指定。这告诉生成器必须在调用者的范围内查找命名库,而不是在创建“<target>”的范围内。有效的目录 ID 在导出时被 install(EXPORT) 和 export() 命令去除。

INTERFACE_LINK_LIBRARIES 为目标的依赖项添加传递链接依赖项。在高级用例中,可以使用 INTERFACE_LINK_LIBRARIES_DIRECT 和 INTERFACE_LINK_LIBRARIES_DIRECT_EXCLUDE 目标属性更新目标依赖项的直接链接依赖项。

创建可重定位包¶

请注意,不建议填充 |INTERFACE_PROPERTY_LINK|具有依赖项绝对路径的目标。这会将依赖项的库文件路径硬编码到已安装的包中 ** 在制作包的机器上找到 ** 。

请参阅 cmake-packages(7) 手册的 创建可重定位包 部分,讨论在创建用于重新分发的包时指定使用要求时必须注意的额外注意事项。

目录

  • INTERFACE_LINK_LIBRARIES
    • 创建可重定位包

上一主题

INTERFACE_LINK_DIRECTORIES

下一主题

INTERFACE_LINK_LIBRARIES_DIRECT

本页

  • 显示源代码

快速搜索

导航

  • 索引
  • 下一页 |
  • 上一页 |
  • CMake »
  • 3.26.4 Documentation »
  • cmake-属性(7) »
  • INTERFACE_LINK_LIBRARIES
© 版权所有 2000-2023 Kitware, Inc. and Contributors. 由 Sphinx 6.2.1创建。