- π¬ C++23 Ready Presets: Leverage cutting-edge C++ features
- π‘οΈ Code Quality Tools: Integrated targets for maintaining high standards
- π¦ CPM Package Management: Simplified dependency handling
- π Doxygen Configuration: Seamless documentation generation
- π§ͺ CTest Integration: Straightforward testing setup (doctest + androidTest)
- π³ Docker Support: Pre-configured containerization
- π» IDE Compatibility: Works with QtCreator, CLion, Visual Studio, KDevelop
- π Cross-Platform: Linux, Windows, Android, macOS support
- ποΈ CMake-Driven: Streamlined CI/CD configuration
cmake 3.30.0+C++ compiler with C++23 supportninja(optional) cmake/cfg/*.cmake tools
# Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Dependencies
brew install cmake llvm doxygen# Chocolatey
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
# Dependencies
choco install cmake llvm visualstudio2019buildtools doxygensudo apt-get update
sudo apt-get install cmake g++ doxygen llvm clang-tools python-develsudo dnf check-update
sudo dnf install cmake gcc-c++ doxygen llvm python-develcmake --preset=gcc .
cd build/release
cmake --build . --config gcccd build/gcc
ctest --output-on-failuredocker build -t my-image -f docker/<desired_os>.Dockerfile .cd build/gcc
cmake --build . --target doxygen
# Browse documentation
cd build/gcc/docs/doxygen/html
python -m http.server 8080- develop
- C++ Weekly by Jason Turner β Weekly doses of modern C++
- Performance-Aware Programming by Casey Muratori β Hardware-conscious development
- C++ Core Guidelines by Stroustrup & Sutter β Industry best practices
- Effective Modern C++ by Scott Meyers β Essential patterns
- cppreference.com β Comprehensive language reference
- C++23 Features β Latest standard capabilities
- Compiler Explorer β Live assembly output analysis
- Quick Bench β Online micro-benchmarking
- cpp insights β Online insights on how compiler will understand the code