INTERFACE_LINK_DEPENDS¶
3.13 版本新增。
目标二进制文件在链接时所依赖的额外公共接口文件。
此属性仅受 Ninja
和 Makefile 生成器支持。它旨在为自定义 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
)