kubbebrowser/CMakePresets.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 }
}
]
}