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) 手册的 创建可重定位包 部分。