summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorBen Boeckel <ben.boeckel@kitware.com>2022-11-28 17:07:02 (GMT)
committerBen Boeckel <ben.boeckel@kitware.com>2022-12-01 16:42:46 (GMT)
commit82833fb3c0f6253bec69db683d3358b4c820b99b (patch)
treebc5cf8d29ee064de8bab5a6f75bd05afd8beea76 /Help
parent388acfd46dd33d574c46ad640215f56fb576da66 (diff)
downloadCMake-82833fb3c0f6253bec69db683d3358b4c820b99b.zip
CMake-82833fb3c0f6253bec69db683d3358b4c820b99b.tar.gz
CMake-82833fb3c0f6253bec69db683d3358b4c820b99b.tar.bz2
Help/dev/experimental: document C++20 module limitations
Diffstat (limited to 'Help')
-rw-r--r--Help/dev/experimental.rst25
1 files changed, 25 insertions, 0 deletions
diff --git a/Help/dev/experimental.rst b/Help/dev/experimental.rst
index 03eb076..581cdb4 100644
--- a/Help/dev/experimental.rst
+++ b/Help/dev/experimental.rst
@@ -24,6 +24,31 @@ In order to support C++20 modules, there are a number of behaviors that have
CMake APIs to provide the required features to build and export them from a
project.
+Limitations
+-----------
+
+There are a number of known limitations of the current C++20 module support in
+CMake. This does not document known limitations or bugs in compilers as these
+can change over time.
+
+For all generators:
+
+- Only in-project modules may be used. While there is some support for
+ exporting module information, there is no mechanism for using it at the
+ moment.
+
+For the Ninja Generators:
+
+- ``ninja`` 1.10 or newer is required.
+
+For the Visual Studio Generators:
+
+- Only Visual Studio 2022 and toolchains newer than 19.34 (Visual Studio
+ 17.4).
+- No support for exporting or installing BMI or module information.
+- No diagnosis of using modules provided by ``PRIVATE`` sources from
+ ``PUBLIC`` module sources.
+
C++20 Module Dependencies
=========================