What
Document the dual-build strategy around the optional C++20 modules support (requires CMake 3.28+), so downstream consumers know when and how to enable it.
- Current: Module support exists (
CMakeLists.txt:176-250) but selection criteria are not documented
- Expected: A short guide covering prerequisites, toolchain matrix, and fallback behaviour
- Scope:
docs/guides/CXX20_MODULES.md (new), linked from README.md
Why
- C++20 modules are still experimental in some compilers; silently enabling them can confuse consumers
- Dual-build expectations (header-only fallback vs. modules) should be explicit
How
Technical Approach
- Create
docs/guides/CXX20_MODULES.md with:
- Compiler/CMake matrix
-DCOMMON_BUILD_MODULES=ON usage
- Known limitations (e.g. import under sanitizers)
- Link from
README.md under "Advanced usage"
Acceptance Criteria
What
Document the dual-build strategy around the optional C++20 modules support (requires CMake 3.28+), so downstream consumers know when and how to enable it.
CMakeLists.txt:176-250) but selection criteria are not documenteddocs/guides/CXX20_MODULES.md(new), linked fromREADME.mdWhy
How
Technical Approach
docs/guides/CXX20_MODULES.mdwith:-DCOMMON_BUILD_MODULES=ONusageREADME.mdunder "Advanced usage"Acceptance Criteria