INTERFACE_LINK_DEPENDS¶
在 3.13 版本加入.
目标二进制文件链接所依赖的其他公共接口文件。
只有 Ninja 和 Makefile 生成器 支持此属性。它旨在为自定义 Makefile 链接规则指定对“链接器脚本”的依赖性。
当使用 target_link_libraries 指定目标依赖项时,CMake 将从所有目标依赖项中读取此属性以确定消费者的构建属性。
INTERFACE_LINK_DEPENDS 的内容可以使用语法为``$<...>`` 的“生成器表达式”。请参阅 cmake-generator-expressions(7) 手册了解可用的表达式。有关定义构建系统属性的更多信息,请参阅 cmake-buildsystem(7) -manual。
构建树和安装树之间的链接依赖文件使用要求通常不同。 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
)