From 82833fb3c0f6253bec69db683d3358b4c820b99b Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 28 Nov 2022 12:07:02 -0500 Subject: Help/dev/experimental: document C++20 module limitations --- Help/dev/experimental.rst | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) 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 ========================= -- cgit v0.12