CMP0027

警告

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

有條件地連結缺少包含目錄的匯入目標。

CMake 2.8.11 引入了 INTERFACE_INCLUDE_DIRECTORIES 的概念,以及在 cmake 時期檢查 IMPORTED 目標的 INTERFACE_INCLUDE_DIRECTORIES 中的條目是否實際存在。CMake 2.8.11 也引入了 target_link_libraries() 命令中的產生器表達式支援。然而,如果匯入目標是透過產生器表達式評估的結果連結的,則 IMPORTED 目標的 INTERFACE_INCLUDE_DIRECTORIES 中的條目不會像應該的那樣檢查是否存在。

此策略的 OLD 行為是,如果產生器表達式有條件地連結的 IMPORTED 目標的 INTERFACE_INCLUDE_DIRECTORIES 中的條目不存在,則報告警告。

此策略的 NEW 行為是,如果產生器表達式有條件地連結的 IMPORTED 目標的 INTERFACE_INCLUDE_DIRECTORIES 中的條目不存在,則報告錯誤。

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