INTERFACE_LINK_DEPENDS¶
添加于版本 3.13。
目标二进制文件链接时依赖的其他公共接口文件。
此属性仅受 Ninja
和 Makefile Generators 支持。它旨在为自定义 Makefile 链接规则指定对“链接器脚本”的依赖。
当使用 target_link_libraries()
指定目标依赖项时,CMake 将从所有目标依赖项中读取此属性,以确定消费者的构建属性。
INTERFACE_LINK_DEPENDS
的内容可以使用“生成器表达式”,语法为 $<...>
。有关可用表达式,请参阅 cmake-generator-expressions(7)
手册。有关定义构建系统属性的更多信息,请参阅 cmake-buildsystem(7)
手册。
链接依赖文件使用要求通常在构建树和安装树之间有所不同。BUILD_INTERFACE
和 INSTALL_INTERFACE
生成器表达式可用于描述基于使用位置的单独使用要求。相对路径在 INSTALL_INTERFACE
表达式中是允许的,并且相对于安装前缀进行解释。例如
set_property(TARGET mylib PROPERTY INTERFACE_LINK_DEPENDS
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/mylinkscript>
$<INSTALL_INTERFACE:mylinkscript> # <prefix>/mylinkscript
)