Files

120 lines
3.2 KiB
JSON
Raw Permalink Normal View History

{
"version": 2,
"cmakeMinimumRequired": {
"major": 3,
"minor": 20,
"patch": 0
},
"configurePresets": [
{
"name": "_base",
"hidden": true,
2026-05-18 21:07:48 +08:00
"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"
}
}
]
}