A minimal mcpp 2.7.2 C/C++ preprocessor library by Kiyoshi Matsui, used to preprocess O3DE's AZSL shaders. Sources include O3DE's existing patches and some portability changes.
Changes for O3DE:
- C++ linkage, const arguments, prefixed output names, and an include callback.
- Absolute paths in line directives, Windows path handling, and preserved comment line numbers for shader diagnostics.
- Windows, Mac, and Linux configuration, ARM64 detection, lowercase headers, and modern compiler fixes.
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build --config ReleaseUpstream mcpp uses BSD-2-Clause. O3DE modifications and build files use Apache-2.0 OR MIT, at your option. The upstream license still applies to the original code.