CMP0027

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

CMake 2.8.11 引入了 INTERFACE_INCLUDE_DIRECTORIES 的概念,並在 cmake 時檢查 INTERFACE_INCLUDE_DIRECTORIESIMPORTED 目標的條目是否實際存在。CMake 2.8.11 也引入了 target_link_libraries() 命令中的產生器表達式支援。然而,如果導入目標是透過產生器表達式評估的結果進行連結,則該目標的 INTERFACE_INCLUDE_DIRECTORIES 中的條目並未按照應有的方式檢查是否存在。

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

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

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

注意

策略的 OLD 行為依定義 已被棄用,並可能在未來的 CMake 版本中移除。