Features:
- VCPKG for package management.
- CMake with CMakePresets for cross-platform builds.
- Configuration presets:
ninja
: A generic Ninja Multi-Config preset.clang
: A Clang specific Ninja Multi-Config preset.cl
: (Windows x64) CL specific Ninja Multi-Config preset.win64
: (Windows x64) Visual Studio 2022 preset.
- Build presets:
- Debug, RelWithDebInfo, and Release build presets are provided for all configuration presets above. Just add
debug
,relwithdebinfo
, orrelease
. For example, the presets forclang
areclang-debug
,clang-relwithdebinfo
, andclang-release
.
- Debug, RelWithDebInfo, and Release build presets are provided for all configuration presets above. Just add
- Test presets:
- Just add
test-
to the build presets names.
- Just add
- Configuration presets:
- Clang-Tidy and Clang-Format.
- GitHub Action for reproducible builds.
- 2 layers of cache: GitHub Actions Cache (
x-gha
) and GitHub Packages cache (nuget
) - GitHub Actions cache should just work™️.
- GitHub Packages cache requires you to create a Personal Access Token (classic) with
write:packages
permissions and saved to "Action Secrets" as a "Repository Secret" namedGH_PACKAGES_TOKEN
.
- 2 layers of cache: GitHub Actions Cache (