CMP0155¶
在 3.28 版本中新增。
當支援時,會掃描目標中至少使用 C++20 的 C++ 原始碼以尋找匯入 (imports)。
CMake 3.27 及更早版本假設 C++ 原始碼不會 import
模組。CMake 3.28 及更高版本傾向於假設使用 C++20 或更高版本的目標中的 C++ 原始碼可能 import
模組,並且在編譯之前必須掃描,除非明確禁用。此政策為使用 C++20 或更高版本但沒有模組,且尚未更新以關閉掃描的專案提供相容性,例如透過 CMAKE_CXX_SCAN_FOR_MODULES
變數。有關 C++ 模組支援的更多詳細資訊,請參閱 cmake-cxxmodules(7)
手冊。
此政策的 OLD
行為是假設 C++ 20 及更新版本的原始碼不匯入模組。此政策的 NEW
行為是假設 C++ 20 及更新版本的文件可能會匯入模組,如果編譯器理解如何掃描其依賴項,則需要掃描。
此政策在 CMake 3.28 版本中引入。它可以透過 cmake_policy()
或 cmake_minimum_required()
設定。如果未設定,CMake 不會發出警告,並使用 OLD
行為。
注意
政策的 OLD
行為依定義為已棄用
,並可能在未來版本的 CMake 中移除。