CMP0099¶
在版本 3.17 中新增。
連結屬性會遞移地影響靜態函式庫的私有相依項。
在 CMake 3.16 及更早版本中,在建置系統生成期間,目標屬性 INTERFACE_LINK_OPTIONS
、INTERFACE_LINK_DIRECTORIES
和 INTERFACE_LINK_DEPENDS
的評估,不會追蹤靜態函式庫的私有相依項,這些相依項出現在它們的 INTERFACE_LINK_LIBRARIES
中,並由 LINK_ONLY
生成器表達式保護。只有函式庫本身會被傳播以連結相依的二進制檔。
CMake 3.17 及更高版本偏好傳播所有介面連結屬性。此策略為尚未更新以預期新行為的專案提供相容性。
此策略的 OLD
行為是不傳播介面連結屬性。此策略的 NEW
行為是傳播介面連結屬性。
在版本 3.30 中新增:策略 CMP0166
也使 TARGET_PROPERTY
對這三個遞移連結屬性的評估,追蹤靜態函式庫的私有相依項。
此策略在 CMake 版本 3.17 中引入。它可以通過 cmake_policy()
或 cmake_minimum_required()
設置。如果未設置,CMake 不會 發出警告,並使用 OLD
行為。
注意
策略的 OLD
行為依定義已棄用
,並可能在未來的 CMake 版本中移除。