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++ 模組原始碼匯出的目標將匯出此屬性的已解析值。