Cmakepresets.json Example May 2026

"buildPresets": [ "name": "dev-linux-gcc", "inherits": "default", "configurePreset": "dev-linux-gcc" ] When you run cmake --build --preset dev-linux-gcc , CMake automatically uses the binary directory from the corresponding configure preset. List available presets cmake --list-presets Output:

1. Version and Minimum CMake Version "version": 6, "cmakeMinimumRequired": "major": 3, "minor": 23, "patch": 0 cmakepresets.json example

Available configure presets: "dev-linux-gcc" - Linux GCC (Debug) "dev-linux-clang" - Linux Clang (Release) "dev-windows-msvc"- Windows MSVC (Debug) "ci-linux-release"- CI Linux Release cmake --preset dev-linux-gcc This creates build/dev-linux-gcc/ and configures with GCC in Debug mode. Build using a preset cmake --build --preset dev-linux-gcc Run tests (if you define test presets) ctest --preset default Advanced Tips Use environment variables "environment": "CCACHE_DIR": "$sourceDir/.ccache" Build using a preset cmake --build --preset dev-linux-gcc

Enter CMakePresets.json – a game-changing feature introduced in CMake 3.19 and continuously improved since. It allows you to define, version-control, and share build configurations in a single JSON file. then from another preset

You can inherit from a hidden base, then from another preset, and finally override specific variables. Condition on build type "condition": "type": "equals", "lhs": "$envCI", "rhs": "true"