96 lines
2.5 KiB
JSON
96 lines
2.5 KiB
JSON
{
|
|
"version": 8,
|
|
"cmakeMinimumRequired": {
|
|
"major": 3,
|
|
"minor": 28,
|
|
"patch": 0
|
|
},
|
|
"configurePresets": [
|
|
{
|
|
"name": "base",
|
|
"hidden": true,
|
|
"generator": "Ninja",
|
|
"binaryDir": "${sourceDir}/out/${presetName}",
|
|
"cacheVariables": {
|
|
"CMAKE_EXPORT_COMPILE_COMMANDS": true,
|
|
"BUILD_SHARED_LIBS": true,
|
|
"BUILD_TESTING": true,
|
|
"KUBBE_ENABLE_CCACHE": true,
|
|
"KUBBE_WARNINGS_AS_ERRORS": false
|
|
}
|
|
},
|
|
{
|
|
"name": "dev",
|
|
"displayName": "Developer debug build",
|
|
"inherits": "base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Debug",
|
|
"KUBBE_ENABLE_ASSERTIONS": true,
|
|
"KUBBE_SANITIZER": "none"
|
|
}
|
|
},
|
|
{
|
|
"name": "asan-ubsan",
|
|
"displayName": "AddressSanitizer + UndefinedBehaviorSanitizer",
|
|
"inherits": "base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
|
|
"KUBBE_ENABLE_ASSERTIONS": true,
|
|
"KUBBE_SANITIZER": "address-undefined"
|
|
}
|
|
},
|
|
{
|
|
"name": "tsan",
|
|
"displayName": "ThreadSanitizer",
|
|
"inherits": "base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
|
|
"KUBBE_ENABLE_ASSERTIONS": true,
|
|
"KUBBE_SANITIZER": "thread"
|
|
}
|
|
},
|
|
{
|
|
"name": "release",
|
|
"displayName": "Optimized release build",
|
|
"inherits": "base",
|
|
"cacheVariables": {
|
|
"CMAKE_BUILD_TYPE": "Release",
|
|
"BUILD_TESTING": false,
|
|
"KUBBE_ENABLE_ASSERTIONS": false,
|
|
"KUBBE_SANITIZER": "none"
|
|
}
|
|
}
|
|
],
|
|
"buildPresets": [
|
|
{ "name": "dev", "configurePreset": "dev", "jobs": 4 },
|
|
{ "name": "asan-ubsan", "configurePreset": "asan-ubsan", "jobs": 4 },
|
|
{ "name": "tsan", "configurePreset": "tsan", "jobs": 4 },
|
|
{ "name": "release", "configurePreset": "release", "jobs": 4 }
|
|
],
|
|
"testPresets": [
|
|
{
|
|
"name": "dev",
|
|
"configurePreset": "dev",
|
|
"output": { "outputOnFailure": true }
|
|
},
|
|
{
|
|
"name": "asan-ubsan",
|
|
"configurePreset": "asan-ubsan",
|
|
"environment": {
|
|
"ASAN_OPTIONS": "detect_leaks=1:halt_on_error=1:strict_string_checks=1",
|
|
"UBSAN_OPTIONS": "halt_on_error=1:print_stacktrace=1"
|
|
},
|
|
"output": { "outputOnFailure": true }
|
|
},
|
|
{
|
|
"name": "tsan",
|
|
"configurePreset": "tsan",
|
|
"environment": {
|
|
"TSAN_OPTIONS": "halt_on_error=1:second_deadlock_stack=1"
|
|
},
|
|
"output": { "outputOnFailure": true }
|
|
}
|
|
]
|
|
}
|
|
|