CMP0099

在版本 3.17 中新增。

連結屬性會遞移於靜態函式庫的私有依賴項。

在 CMake 3.16 及更早版本中,目標屬性 INTERFACE_LINK_OPTIONSINTERFACE_LINK_DIRECTORIESINTERFACE_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 中移除。