{ "version": 5, "cmakeMinimumRequired": { "major": 3, "minor": 24, "patch": 0 }, "configurePresets": [ { "name": "linux-debug", "displayName": "Linux Debug", "generator": "Ninja", "binaryDir": "${sourceDir}/build/debug", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "PLOT_BUILD_GLFW": true, "PLOT_BUILD_IMGUI": true, "PLOT_BUILD_EXAMPLES": true, "PLOT_BUILD_QT6": true, "PLOT_BUILD_GTK4": true } }, { "name": "linux-release", "displayName": "Linux Release", "description": "Release artifact for install: PLOT_BUILD_TESTS is OFF so the installed libplot_core.a carries none of the test-only counter instrumentation (PLOT_PYRAMID_COUNT_*, PLOT_RING_STATS). The suite runs in linux-debug and linux-asan.", "generator": "Ninja", "binaryDir": "${sourceDir}/build/release", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "PLOT_BUILD_TESTS": false, "PLOT_BUILD_GLFW": true, "PLOT_BUILD_IMGUI": true, "PLOT_BUILD_EXAMPLES": true, "PLOT_BUILD_QT6": true, "PLOT_BUILD_GTK4": true } }, { "name": "linux-asan", "displayName": "Linux Debug (AddressSanitizer)", "generator": "Ninja", "binaryDir": "${sourceDir}/build/asan", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "PLOT_SANITIZE": "address", "PLOT_BUILD_GLFW": true, "PLOT_BUILD_IMGUI": true, "PLOT_BUILD_QT6": true, "PLOT_BUILD_GTK4": true } }, { "name": "linux-coverage", "displayName": "Linux Debug (code coverage)", "description": "The instrumented tree behind tools/coverage.sh: src/** compiled with --coverage -O0 -g (and linked with --coverage, so the test binary writes .gcda), built into build/cov. Adapters and examples stay off so the measurement is the library plus its unit suite and the build stays quick; PLOT_BUILD_TESTS=ON and PLOT_COVERAGE=ON are required, the latter adding the `coverage` target. Nothing here changes the other presets.", "generator": "Ninja", "binaryDir": "${sourceDir}/build/cov", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_CXX_FLAGS": "--coverage -O0 -g", "CMAKE_EXE_LINKER_FLAGS": "--coverage", "PLOT_BUILD_TESTS": true, "PLOT_COVERAGE": true, "PLOT_BUILD_EXAMPLES": false, "PLOT_BUILD_GLFW": false, "PLOT_BUILD_IMGUI": false, "PLOT_BUILD_QT6": false, "PLOT_BUILD_GTK4": false } } ], "buildPresets": [ { "name": "linux-debug", "configurePreset": "linux-debug" }, { "name": "linux-release", "configurePreset": "linux-release" }, { "name": "linux-asan", "configurePreset": "linux-asan" }, { "name": "linux-coverage", "configurePreset": "linux-coverage" } ] }