INTERFACE_LINK_DEPENDS¶
3.13 版本新增。
目标二进制文件链接所依赖的附加公共接口文件。
此属性仅受 Ninja 和 Makefile Generators 支持。它旨在为自定义 Makefile 链接规则指定对“链接器脚本”的依赖。
当使用 target_link_libraries() 指定目标依赖项时,CMake 将会从所有目标依赖项读取此属性,以确定使用者(consumer)的构建属性。
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
)