{ "version": 2, "cmakeMinimumRequired": { "major": 3, "minor": 20, "patch": 0 }, "configurePresets": [ { "name": "_base", "hidden": true, "generator": "Unix Makefiles", "cacheVariables": { "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" } }, { "name": "debug", "displayName": "Debug", "description": "Default developer lane. C++14 Debug with tests and benchmarks enabled; fuzz requested but auto-skipped unless supported.", "inherits": "_base", "binaryDir": "${sourceDir}/build/debug", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_CXX_STANDARD": "14", "CC_ENABLE_TESTING": "ON", "CC_ENABLE_BENCHMARKS": "ON", "CC_ENABLE_FUZZTEST": "ON", "CC_ENABLE_ASAN": "OFF" } }, { "name": "release", "displayName": "Release", "description": "Optimized build lane. C++14 Release with tests and benchmarks enabled; fuzz requested but auto-skipped unless supported.", "inherits": "_base", "binaryDir": "${sourceDir}/build/release", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "CMAKE_CXX_STANDARD": "14", "CC_ENABLE_TESTING": "ON", "CC_ENABLE_BENCHMARKS": "ON", "CC_ENABLE_FUZZTEST": "ON", "CC_ENABLE_ASAN": "OFF" } }, { "name": "asan", "displayName": "AddressSanitizer", "description": "ASan validation lane. C++14 Debug with AddressSanitizer, tests enabled, benchmarks disabled, fuzz auto-skipped.", "inherits": "_base", "binaryDir": "${sourceDir}/build/asan", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_CXX_STANDARD": "14", "CC_ENABLE_TESTING": "ON", "CC_ENABLE_BENCHMARKS": "OFF", "CC_ENABLE_FUZZTEST": "ON", "CC_ENABLE_ASAN": "ON" } }, { "name": "fuzz", "displayName": "Fuzz", "description": "FuzzTest development lane with coverage-guided fuzzing and ASan. C++17 Debug, requires Clang. Smoke tests run deterministically; continuous fuzzing via direct executable invocation.", "inherits": "_base", "binaryDir": "${sourceDir}/build/fuzz", "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo", "CMAKE_C_COMPILER": "clang", "CMAKE_CXX_COMPILER": "clang++", "CMAKE_CXX_STANDARD": "17", "CC_ENABLE_TESTING": "OFF", "CC_ENABLE_BENCHMARKS": "OFF", "CC_ENABLE_FUZZTEST": "ON", "CC_ENABLE_ASAN": "OFF" } } ], "buildPresets": [ { "name": "debug", "configurePreset": "debug" }, { "name": "release", "configurePreset": "release" }, { "name": "asan", "configurePreset": "asan" }, { "name": "fuzz", "configurePreset": "fuzz" } ], "testPresets": [ { "name": "debug", "configurePreset": "debug" }, { "name": "release", "configurePreset": "release" }, { "name": "asan", "configurePreset": "asan" }, { "name": "fuzz", "configurePreset": "fuzz", "environment": { "ABSL_CONTAINER_DISABLE_SMALL_OBJECT_OPTIMIZATION": "1" } } ] }