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
的引入,此属性默认不为使用 cxx_std_23
的目标添加 import std
支持,而无需显式请求,以便为使用 C++23 而不使用 import std
的项目保留现有行为。一旦该特性得到更广泛的使用,预计将出台政策来更改默认行为。
此属性的值与禁用扫描的目标无关(参见 CXX_SCAN_FOR_MODULES
)。此外,此属性仅适用于使用 C++23 (cxx_std_23
) 或更新版本的目标。
该属性支持 generator expressions
,但是不允许依赖于配置、使用目标或链接器语言的表达式。目标是否使用 import std
不应取决于这些因素,因为它是一个目标的源代码的静态属性。
使用 C++ 模块源导出的目标将导出此属性的已解析值。