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