LINK_INTERFACE_LIBRARIES¶
列出共享库或可执行文件的公共接口库。
默认情况下,链接到共享库目标时,会传递性地链接到该库自身所链接的目标。对于带有导出项的可执行文件(参见 ENABLE_EXPORTS 目标属性),默认不会使用传递性链接依赖项。此属性用一个显式列表替换了默认的传递性链接依赖项。当使用 target_link_libraries() 命令将该目标链接到另一个目标时,所列出的库(以及递归获取的它们的链接接口库)也将提供给另一个目标。如果列表为空,那么即使默认集合非空,当此目标链接到另一个目标时,也不会并入任何传递性链接依赖项。如果在创建目标时设置了 CMAKE_LINK_INTERFACE_LIBRARIES 变量,则此属性将由该变量的值初始化。对于 STATIC(静态)库,此属性会被忽略。
如果策略 CMP0022 设置为 NEW,则此属性将被 INTERFACE_LINK_LIBRARIES 属性覆盖。
此属性已弃用。请改用 INTERFACE_LINK_LIBRARIES。
创建可重定位包¶
请注意,不建议在目标的 LINK_INTERFACE_LIBRARIES 中填充依赖项的绝对路径。这会将在构建包的机器上找到的依赖库文件路径硬编码到已安装的包中。
有关创建可重定位包(relocatable packages)时在指定使用需求时需要注意的额外事项的讨论,请参阅 cmake-packages(7) 手册的 创建可重定位包 部分。