{ "version": 3, "configurePresets": [ { "name": "base", "displayName": "base preset", "generator": "Ninja", "binaryDir": "${sourceDir}/build-${presetName}", "installDir": "$env{KF5}", "hidden": true }, { "name": "base-qt6", "displayName": "base preset", "generator": "Ninja", "binaryDir": "${sourceDir}/build-${presetName}", "installDir": "$env{KF6}", "hidden": true }, { "name": "dev-mold", "displayName": "Build as debug + using mold linker", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "CMAKE_SHARED_LINKER_FLAGS": "-fuse-ld=mold" }, "inherits": [ "base" ] }, { "name": "dev", "displayName": "Build as debug", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" }, "inherits": [ "base" ] }, { "name": "dev-qt6", "displayName": "Build against qt6", "binaryDir": "${sourceDir}/build-qt6", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "BUILD_WITH_QT6": "ON", "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" }, "inherits": [ "base-qt6" ] }, { "name": "release-qt6", "displayName": "Build as release mode.", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "BUILD_WITH_QT6": "ON", "BUILD_TESTING": "OFF" }, "inherits": [ "base-qt6" ] }, { "name": "dev-mold-qt6", "displayName": "Build as debug + using mold linker", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "BUILD_WITH_QT6": "ON", "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "CMAKE_SHARED_LINKER_FLAGS": "-fuse-ld=mold" }, "inherits": [ "base-qt6" ] }, { "name": "asan", "displayName": "Build with Asan support.", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "ECM_ENABLE_SANITIZERS" : "'address;undefined'" }, "inherits": [ "base" ] }, { "name": "asan-qt6", "displayName": "Build with Asan support (qt6).", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "ECM_ENABLE_SANITIZERS" : "'address;undefined'", "CMAKE_SHARED_LINKER_FLAGS": "-fuse-ld=mold", "BUILD_WITH_QT6": "ON" }, "inherits": [ "base-qt6" ] }, { "name": "dev-clang-qt6-asan", "displayName": "dev-clang-qt6-asan", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "ECM_ENABLE_SANITIZERS" : "'address;undefined'", "CMAKE_SHARED_LINKER_FLAGS": "-fuse-ld=mold", "BUILD_WITH_QT6": "ON" }, "environment": { "CXX": "clang++", "CCACHE_DISABLE": "ON" }, "inherits": [ "base-qt6" ] }, { "name": "dev-clang-qt6", "displayName": "dev-clang-qt6", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_EXPORT_COMPILE_COMMANDS": "ON", "CMAKE_SHARED_LINKER_FLAGS": "-fuse-ld=mold", "BUILD_WITH_QT6": "ON" }, "environment": { "CXX": "clang++", "CCACHE_DISABLE": "ON" }, "inherits": [ "base-qt6" ] }, { "name": "dev-clang", "displayName": "dev-clang", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "CMAKE_EXPORT_COMPILE_COMMANDS": "ON" }, "environment": { "CXX": "clang++", "CCACHE_DISABLE": "ON" }, "inherits": [ "base" ] }, { "name": "unity", "displayName": "Build with CMake unity support.", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "USE_UNITY_CMAKE_SUPPORT": "ON" }, "inherits": [ "base" ] }, { "name": "release", "displayName": "Build as release mode.", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", "BUILD_TESTING": "OFF" }, "inherits": [ "base" ] }, { "name": "profile", "displayName": "profile", "cacheVariables": { "CMAKE_BUILD_TYPE": "RelWithDebInfo" }, "inherits": [ "base" ] }, { "name": "coverage", "displayName": "coverage", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "USE_UNITY_CMAKE_SUPPORT": "OFF", "BUILD_COVERAGE": "ON" }, "inherits": [ "base" ] }, { "name": "clazy", "displayName": "clazy", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug" }, "environment": { "CXX": "clazy", "CCACHE_DISABLE": "ON" }, "inherits": [ "base" ] }, { "name": "pch", "displayName": "pch", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", "USE_PRECOMPILED_HEADERS": "ON", "BUILD_COVERAGE": "ON" }, "inherits": [ "base" ] } ], "buildPresets": [ { "name": "dev", "configurePreset": "dev" }, { "name": "dev-clang-qt6-asan", "configurePreset": "dev-clang-qt6-asan" }, { "name": "dev-clang-qt6", "configurePreset": "dev-clang-qt6" }, { "name": "dev-mold", "configurePreset": "dev-mold" }, { "name": "dev-mold-qt6", "configurePreset": "dev-mold-qt6" }, { "name": "dev-qt6", "configurePreset": "dev-qt6" }, { "name": "release-qt6", "configurePreset": "release-qt6" }, { "name": "dev-clang", "configurePreset": "dev-clang" }, { "name": "pch", "configurePreset": "pch" }, { "name": "release", "configurePreset": "release" }, { "name": "unity", "configurePreset": "unity" }, { "name": "coverage", "configurePreset": "coverage" }, { "name": "asan", "configurePreset": "asan" }, { "name": "asan-qt6", "configurePreset": "asan-qt6" }, { "name": "clazy", "configurePreset": "clazy", "environment": { "CLAZY_CHECKS" : "level0,level1,detaching-member,ifndef-define-typo,isempty-vs-count,qrequiredresult-candidates,reserve-candidates,signal-with-return-value,unneeded-cast,function-args-by-ref,function-args-by-value,returning-void-expression,no-ctor-missing-parent-argument,isempty-vs-count,qhash-with-char-pointer-key,raw-environment-function,qproperty-type-mismatch,old-style-connect,qstring-allocations,container-inside-loop,heap-allocated-small-trivial-type,inefficient-qlist,qstring-varargs,level2,detaching-member,heap-allocated-small-trivial-type,isempty-vs-count,qstring-varargs,qvariant-template-instantiation,raw-environment-function,reserve-candidates,signal-with-return-value,thread-with-slots,no-ctor-missing-parent-argument,no-missing-typeinfo", "CCACHE_DISABLE" : "ON" } } ], "testPresets": [ { "name": "dev", "configurePreset": "dev", "output": {"outputOnFailure": true}, "execution": {"noTestsAction": "error", "stopOnFailure": false} }, { "name": "asan", "configurePreset": "asan", "output": {"outputOnFailure": true}, "execution": {"noTestsAction": "error", "stopOnFailure": true} }, { "name": "unity", "configurePreset": "unity", "output": {"outputOnFailure": true}, "execution": {"noTestsAction": "error", "stopOnFailure": true} }, { "name": "coverage", "configurePreset": "coverage", "output": {"outputOnFailure": true}, "execution": {"noTestsAction": "error", "stopOnFailure": true} } ] }