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
)