Compiler
Compiler | C++20 Modules |
---|---|
MSVC 2022 | ✅ (17.6) |
Clang | Partial (17) |
Apple Clang | ❌ |
GCC | Partial (14) |
Standard Libaries
Standard Library | Provides import std; |
---|---|
MSSTL | ✅ (17.10) |
libc++ | Partial (18) |
libstdc++ | ❌ |
Build Tools
Tool | C++20 Modules | C++23 Standard Library Modules import std; | Info |
---|---|---|---|
Ninja | ✅ 1.11 | ✅ 1.11 | |
MSBuild | ✅ | ✅ | |
CMake | ✅ 3.28 | ✅ 3.30 | Issue Link |
XMake | ✅ | ✅ | Release |
Zork++ | ✅ | ✅ | Project |
Build2 | ✅ | ✅ 0.17.0 | Issue Link |
Meson | Partial | ❌ | Issue Link |
Gnu Make | ✅ | ❌ | Demo Project |
Scons | ⚙️ | ❌ | PR for GCC support |
ccache | ❌ | ❌ | Issue Link |
sccache | ❌ | ❌ | Issue Link |
Bazel | ❌ | ❌ | Issue Link |
Gradle | ❌ | ❌ | Issue Link |
qbs | ⚙️ | ❌ | Issue, PR |
fastbuild | ❌ | ❌ | Issue Link |
qmake | ❌ | ❌ | 💀 Deprecated and should no longer be used! |
Language Server (IDE Support)
Preprocessor | C++20 Modules | Description | Issue |
---|---|---|---|
Clangd | ❌ (maybe clang 19) | Issue Link PR | |
clangd (forked) | ✅ | need to be built from source | Repo Link |
vscode-cmake-tools | ❌ | Issue Link |
Preprocessor
Preprocessor | C++20 Modules | Description | Issue |
---|---|---|---|
Qt moc | ❌ | Qt needs to add modules support to their preprocessor before they can even begin adding modules support. The last conversation happened mid December 2023 here. fabiankosmale laid out the challenges for this, but no timeline was given for when it will be done. | Link |