CMP0041

使用生成器表達式時,相對包含路徑會產生錯誤。

在 CMake 2.8.12 及更低版本中,如果目標的 INTERFACE_INCLUDE_DIRECTORIES 中的任何位置包含生成器表達式,則會靜默忽略該條目。

該目標屬性中的路徑條目不應是相對路徑。高階 API 應確保添加源目錄或安裝目錄前綴(視情況而定)。

作為額外的診斷,在 IMPORTED 目標上為安裝位置生成的 INTERFACE_INCLUDE_DIRECTORIES 不應包含源目錄或建置目錄中的路徑。

此政策的 OLD 行為是忽略包含生成器表達式的相對路徑條目。此政策的 NEW 行為是,如果生成器表達式出現在其他位置且路徑為相對路徑,則報告錯誤。

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

注意

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