LINK_INTERFACE_LIBRARIES¶
为共享库或可执行文件列出公共接口库。
默认情况下,链接到共享库的目标是与库本身链接的目标进行传递链接。对于带有导出的可执行文件(参见ENABLE_EXPORTS
目标属性),不使用默认的传递链接依赖项。此属性使用显式列表替换了默认的传递链接依赖项。当目标使用target_link_libraries()
命令链接到另一目标时,所列库(及其链接接口库的递归)也将提供给其他目标。如果该列表为空,那么当将此目标链接到另一个目标时,即使默认设置不为空,也不会合并任何传递链接依赖项。如果在创建目标时设置了该变量的值,则此属性由CMAKE_LINK_INTERFACE_LIBRARIES
变量的值进行初始化。此属性对于STATIC
库无效。
如果策略CMP0022
为NEW
,则此属性将被INTERFACE_LINK_LIBRARIES
属性覆盖。
此属性已弃用。请改用INTERFACE_LINK_LIBRARIES
。
创建可重定位软件包¶
请注意,建议不要使用到依赖项的绝对路径来填充目标的LINK_INTERFACE_LIBRARIES
。这会将库文件路径硬编码到安装软件包中,因为依赖关系是在制作软件包的机器上找到的。
在创建供重新分发的软件包时,请参阅cmake-packages(7)
手册中有关创建可重定位软件包部分,了解在指定使用要求时必须格外注意的内容。