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
支持,以保留未使用 import std
的 C++23 项目的现有行为。预期在功能得到更广泛使用后,会有一个未来的策略来更改默认行为。
对于禁用扫描的目标(请参阅 CXX_SCAN_FOR_MODULES
),此属性的值无关紧要。此外,此属性仅适用于使用 C++23(cxx_std_23
)或更新版本的目标。
此属性支持 生成器表达式
,但不允许依赖于配置、使用者目标或链接器语言的表达式。目标是否使用 import std
不应依赖于这些因素,因为它是目标源代码的静态属性。
以 C++ 模块源文件导出的目标将导出此属性的已解析值。