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
)