CMP0028¶
目標名稱中的雙冒號表示 ALIAS
或 IMPORTED
目標。
CMake 2.8.12 及更低版本允許在 target_link_libraries()
中使用帶有雙冒號的目標和檔案,適用於某些建置系統產生器。
雙冒號的使用是命名空間 IMPORTED
目標和 ALIAS
目標的常見模式。在計算目標的連結依賴項時,每個依賴項的名稱可以是目標,也可以是磁碟上的檔案。先前,如果找不到具有匹配名稱的目標,則該名稱被認為是指磁碟上的檔案。如果應該是目標名稱的地方出現錯字,這可能會導致令人困惑的錯誤訊息。
另請參閱 LINK_LIBRARIES_ONLY_TARGETS
目標屬性。
此策略的 OLD
行為是先搜尋目標,然後搜尋磁碟上的檔案,即使搜尋字詞包含雙冒號。此策略的 NEW
行為是,如果連結依賴項包含雙冒號但不是 IMPORTED
目標或 ALIAS
目標,則發出 FATAL_ERROR
。
此策略是在 CMake 3.0 版中引入的。它可以透過 cmake_policy()
或 cmake_minimum_required()
進行設定。如果未設定,CMake 會發出警告,並使用 OLD
行為。
注意
策略的 OLD
行為依定義是 已棄用
,並且可能會在 CMake 的未來版本中移除。