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
)