98 lines
3.1 KiB
JSON
98 lines
3.1 KiB
JSON
{
|
|
"version": 6,
|
|
"cmakeMinimumRequired": { "major": 3, "minor": 28, "patch": 0 },
|
|
"configurePresets": [
|
|
{
|
|
"name": "_base",
|
|
"hidden": true,
|
|
"generator": "Ninja",
|
|
"binaryDir": "${sourceDir}/build/${presetName}",
|
|
"cacheVariables": {
|
|
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
|
|
}
|
|
},
|
|
{
|
|
"name": "dev",
|
|
"displayName": "Debug, no sanitizers (fast iteration)",
|
|
"inherits": "_base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
"GLOVE_SANITIZER": "none",
|
|
"GLOVE_WARNINGS_AS_ERRORS": "OFF"
|
|
}
|
|
},
|
|
{
|
|
"name": "asan",
|
|
"displayName": "RelWithDebInfo + AddressSanitizer + UBSan",
|
|
"inherits": "_base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
|
|
"GLOVE_SANITIZER": "address+undefined",
|
|
"GLOVE_WARNINGS_AS_ERRORS": "ON"
|
|
}
|
|
},
|
|
{
|
|
"name": "tsan",
|
|
"displayName": "RelWithDebInfo + ThreadSanitizer",
|
|
"inherits": "_base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
|
|
"GLOVE_SANITIZER": "thread",
|
|
"GLOVE_WARNINGS_AS_ERRORS": "ON"
|
|
}
|
|
},
|
|
{
|
|
"name": "fuzz",
|
|
"displayName": "RelWithDebInfo + ASan/UBSan + libFuzzer",
|
|
"inherits": "_base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
|
|
"BUILD_TESTING": "OFF",
|
|
"GLOVE_BUILD_BENCHMARKS": "OFF",
|
|
"GLOVE_BUILD_FUZZERS": "ON",
|
|
"GLOVE_SANITIZER": "address+undefined",
|
|
"GLOVE_WARNINGS_AS_ERRORS": "ON"
|
|
}
|
|
},
|
|
{
|
|
"name": "relwithdebinfo",
|
|
"displayName": "RelWithDebInfo (perf testing)",
|
|
"inherits": "_base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
|
|
"GLOVE_WARNINGS_AS_ERRORS": "ON"
|
|
}
|
|
},
|
|
{
|
|
"name": "release",
|
|
"displayName": "Release",
|
|
"inherits": "_base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Release",
|
|
"CMAKE_INTERPROCEDURAL_OPTIMIZATION": "ON",
|
|
"GLOVE_WARNINGS_AS_ERRORS": "ON"
|
|
}
|
|
}
|
|
],
|
|
"buildPresets": [
|
|
{ "name": "dev", "configurePreset": "dev" },
|
|
{ "name": "asan", "configurePreset": "asan" },
|
|
{ "name": "tsan", "configurePreset": "tsan" },
|
|
{ "name": "fuzz", "configurePreset": "fuzz" },
|
|
{ "name": "relwithdebinfo", "configurePreset": "relwithdebinfo" },
|
|
{ "name": "release", "configurePreset": "release" }
|
|
],
|
|
"testPresets": [
|
|
{
|
|
"name": "_test_base",
|
|
"hidden": true,
|
|
"output": { "outputOnFailure": true, "verbosity": "default" },
|
|
"execution": { "stopOnFailure": false, "noTestsAction": "error" }
|
|
},
|
|
{ "name": "dev", "configurePreset": "dev", "inherits": "_test_base" },
|
|
{ "name": "asan", "configurePreset": "asan", "inherits": "_test_base" },
|
|
{ "name": "tsan", "configurePreset": "tsan", "inherits": "_test_base" },
|
|
{ "name": "relwithdebinfo", "configurePreset": "relwithdebinfo", "inherits": "_test_base" },
|
|
{ "name": "release", "configurePreset": "release", "inherits": "_test_base" }
|
|
]
|
|
}
|