{ "version": 4, "cmakeMinimumRequired": { "major": 4, "minor": 0, "patch": 0 }, "configurePresets": [ { "name": "base", "hidden": true, "generator": "Ninja", "binaryDir": "${sourceDir}/.build/${presetName}", "cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": true, "ENABLE_TESTS": true, "ENABLE_SANITIZERS": false } }, { "name": "debug", "hidden": true, "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" } }, { "name": "release", "hidden": true, "cacheVariables": { "CMAKE_BUILD_TYPE": "Release" } }, { "name": "gcc", "hidden": true, "toolchainFile": "${sourceDir}/cmake/toolchains/gcc.cmake", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Linux" } }, { "name": "clang", "hidden": true, "toolchainFile": "${sourceDir}/cmake/toolchains/clang.cmake", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Linux" } }, { "name": "appleclang", "hidden": true, "toolchainFile": "${sourceDir}/cmake/toolchains/appleclang.cmake", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Darwin" } }, { "name": "msvc", "hidden": true, "toolchainFile": "${sourceDir}/cmake/toolchains/msvc.cmake", "condition": { "type": "equals", "lhs": "${hostSystemName}", "rhs": "Windows" } }, { "name": "gcc-debug", "inherits": ["base", "debug", "gcc"] }, { "name": "gcc-release", "inherits": ["base", "release", "gcc"] }, { "name": "clang-debug", "inherits": ["base", "debug", "clang"] }, { "name": "clang-release", "inherits": ["base", "release", "clang"] }, { "name": "appleclang-debug", "inherits": ["base", "debug", "appleclang"] }, { "name": "appleclang-release", "inherits": ["base", "release", "appleclang"] }, { "name": "msvc-debug", "inherits": ["base", "debug", "msvc"] }, { "name": "msvc-release", "inherits": ["base", "release", "msvc"] }, { "name": "gcc-sanitizers", "inherits": "gcc-debug", "cacheVariables": { "ENABLE_SANITIZERS": true } }, { "name": "clang-sanitizers", "inherits": "clang-debug", "cacheVariables": { "ENABLE_SANITIZERS": true } }, { "name": "appleclang-sanitizers", "inherits": "appleclang-debug", "cacheVariables": { "ENABLE_SANITIZERS": true } }, { "name": "msvc-sanitizers", "inherits": "msvc-debug", "cacheVariables": { "ENABLE_SANITIZERS": true } } ], "buildPresets": [ { "name": "gcc-debug", "configurePreset": "gcc-debug" }, { "name": "gcc-release", "configurePreset": "gcc-release" }, { "name": "clang-debug", "configurePreset": "clang-debug" }, { "name": "clang-release", "configurePreset": "clang-release" }, { "name": "appleclang-debug", "configurePreset": "appleclang-debug" }, { "name": "appleclang-release", "configurePreset": "appleclang-release" }, { "name": "msvc-debug", "configurePreset": "msvc-debug" }, { "name": "msvc-release", "configurePreset": "msvc-release" }, { "name": "gcc-sanitizers", "configurePreset": "gcc-sanitizers" }, { "name": "clang-sanitizers", "configurePreset": "clang-sanitizers" }, { "name": "appleclang-sanitizers", "configurePreset": "appleclang-sanitizers" }, { "name": "msvc-sanitizers", "configurePreset": "msvc-sanitizers" } ], "testPresets": [ { "name": "base", "hidden": true, "output": { "outputOnFailure": true }, "execution": { "noTestsAction": "error", "stopOnFailure": true } }, { "name": "gcc-debug", "inherits": "base", "configurePreset": "gcc-debug" }, { "name": "gcc-release", "inherits": "base", "configurePreset": "gcc-release" }, { "name": "clang-debug", "inherits": "base", "configurePreset": "clang-debug" }, { "name": "clang-release", "inherits": "base", "configurePreset": "clang-release" }, { "name": "appleclang-debug", "inherits": "base", "configurePreset": "appleclang-debug" }, { "name": "appleclang-release", "inherits": "base", "configurePreset": "appleclang-release" }, { "name": "msvc-debug", "inherits": "base", "configurePreset": "msvc-debug" }, { "name": "msvc-release", "inherits": "base", "configurePreset": "msvc-release" }, { "name": "gcc-sanitizers", "inherits": "base", "configurePreset": "gcc-sanitizers" }, { "name": "clang-sanitizers", "inherits": "base", "configurePreset": "clang-sanitizers" }, { "name": "appleclang-sanitizers", "inherits": "base", "configurePreset": "appleclang-sanitizers" }, { "name": "msvc-sanitizers", "inherits": "base", "configurePreset": "msvc-sanitizers" } ] }