CXX_MODULE_STD

在 3.30 版本中新增。

CXX_MODULE_STD 是一個布林值,用於指定目標是否可以使用其 C++ 原始碼中的 import std;

注意

此設定僅在透過 CMAKE_EXPERIMENTAL_CXX_IMPORT_STD 閘道啟用對 import std; 的實驗性支援時才有意義。

當此屬性明確設定為 ON 時,CMake 將為目標新增一個相依性,該目標為應用於目標的 C++ 標準提供 C++ 標準函式庫的模組。此目標僅適用於當前建置,並且不會出現在目標的匯出介面中。當使用時,這些目標將在必要時重新應用。

注意

CXX_SCAN_FOR_MODULES 的引入類似,為了保留使用 C++23 但沒有 import std 的專案的現有行為,此屬性預設為為使用 cxx_std_23 的目標新增 import std 支援,除非有明確要求。一旦此功能獲得更廣泛的使用,預計將會制定變更預設行為的策略。

此屬性的值與停用掃描的目標無關(請參閱 CXX_SCAN_FOR_MODULES)。此外,此屬性僅適用於使用 C++23 (cxx_std_23) 或更新版本的目標。

此屬性支援 generator expressions,但是不允許依賴於組態、使用目標或連結器語言的表達式。目標是否使用 import std 不應取決於這些因素,因為它是目標原始碼的靜態屬性。

使用 C++ 模組原始碼匯出的目標將匯出此屬性的已解析值。