{ "version": 6, "configurePresets": [ { "name": "base", "hidden": true, "generator": "Ninja", "binaryDir": "${sourceDir}/build/${presetName}", "cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" } }, { "name": "debug", "displayName": "Debug", "inherits": "base", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" } }, { "name": "release", "displayName": "Release (with debug info)", "inherits": "base", "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo" } }, { "name": "asan", "displayName": "Debug + AddressSanitizer/UBSan", "inherits": "debug", "cacheVariables": { "CMAKE_CXX_FLAGS": "-fsanitize=address,undefined -fno-omit-frame-pointer", "CMAKE_C_FLAGS": "-fsanitize=address,undefined -fno-omit-frame-pointer" } }, { "name": "tsan", "displayName": "Debug + ThreadSanitizer", "inherits": "debug", "cacheVariables": { "CMAKE_CXX_FLAGS": "-fsanitize=thread", "CMAKE_C_FLAGS": "-fsanitize=thread" } } ], "buildPresets": [ { "name": "debug", "configurePreset": "debug" }, { "name": "release", "configurePreset": "release" }, { "name": "asan", "configurePreset": "asan" }, { "name": "tsan", "configurePreset": "tsan" } ] }