Demo. I released this Github Template to set up a new repo that had full support for running C++ on the web via WASM, using Emscripten, alongside all the required libraries, integrations, best practices, and build systems with CI/CD
A template for using emscripten with C++20 and CMake, and using GLAD and SDL2
- Emscripten web build, deployed to gh-pages. View demo here
- Linux, Mac, and Windows native builds via Github Actions
- Code coverage via CodeCov
- Code formatting via clang-format
- Static Analysis using cppcheckandclang-tidy
- Dynamic Analysis using Address Sanitizer,Leak Sanitizer,Thread Sanitizer, andUndefined Behaviour Sanitizer
- Unit tests ran using Valgrindfor runtime memory analysis
- Caching builds via ccache
- Caching CMake dependencies via CPM
- Multi-project (Monorepo) setup, with MyLibfor e.g. a game engine, andMyAppfor e.g the gameplay code
- Unit tests via Doctest
- Benchmarks via Google Benchmark
- Strict compiler warnings due to cmake/CompilerWarnings, taken from cpp_starter_project
- No third-party warnings due to cmake/SetSystemIncludes and cmake/CompilerWarnings
- Building SDL2 from source