CMP0028

警告

此策略的 OLD 行為已在 CMake 4.0 版本中移除。此策略必須透過呼叫 cmake_minimum_required()cmake_policy() 設定為 NEW

目標名稱中的雙冒號表示 ALIASIMPORTED 目標。

CMake 2.8.12 及更低版本允許在 target_link_libraries() 中使用帶有雙冒號的目標和檔案,適用於某些建置系統產生器。

雙冒號的使用是用於命名空間 IMPORTED 目標和 ALIAS 目標的常見模式。當計算目標的連結依賴項時,每個依賴項的名稱可以是目標,也可以是磁碟上的檔案。先前,如果找不到具有相符名稱的目標,則該名稱被認為是指磁碟上的檔案。如果應該是目標名稱的地方出現錯字,這可能會導致混淆的錯誤訊息。

另請參閱 LINK_LIBRARIES_ONLY_TARGETS 目標屬性。

此策略的 OLD 行為是搜尋目標,然後搜尋磁碟上的檔案,即使搜尋詞包含雙冒號。此策略的 NEW 行為是,如果連結依賴項包含雙冒號,但不是 IMPORTED 目標或 ALIAS 目標,則發出 FATAL_ERROR

此策略在 CMake 3.0 版本中引入。在 CMake 4.0 版本中移除之前,可以透過 cmake_policy()cmake_minimum_required() 設定。如果未設定,CMake 會發出警告,並使用 OLD 行為。