1{
2    "version": 2,
3    "configurePresets": [
4        {
5            "name": "dev",
6            "displayName": "Build as debug",
7            "generator": "Ninja",
8            "binaryDir": "${sourceDir}/build",
9            "cacheVariables": {
10                "CMAKE_BUILD_TYPE": "Debug",
11		"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
12            }
13        },
14        {
15            "name": "asan",
16            "displayName": "Build with Asan support.",
17            "generator": "Ninja",
18            "binaryDir": "${sourceDir}/build-asan",
19            "cacheVariables": {
20                "CMAKE_BUILD_TYPE": "Debug",
21                "ECM_ENABLE_SANITIZERS" : "'address;undefined'",
22		"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
23            }
24        },
25        {
26            "name": "unity",
27            "displayName": "Build with CMake unity support.",
28            "generator": "Ninja",
29            "binaryDir": "${sourceDir}/build-unity",
30            "cacheVariables": {
31                "CMAKE_BUILD_TYPE": "Debug",
32		"CMAKE_UNITY_BUILD": "ON",
33		"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
34            }
35        },
36        {
37            "name": "release",
38            "displayName": "Build as release mode.",
39            "generator": "Ninja",
40            "binaryDir": "${sourceDir}/build-release",
41            "cacheVariables": {
42                "CMAKE_BUILD_TYPE": "Release"
43            }
44        },
45        {
46            "name": "profile",
47            "displayName": "profile",
48            "generator": "Ninja",
49            "binaryDir": "${sourceDir}/build-profile",
50            "cacheVariables": {
51                "CMAKE_BUILD_TYPE": "RelWithDebInfo",
52		"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
53            }
54	},
55        {
56            "name": "clazy",
57            "displayName": "clazy",
58            "generator": "Ninja",
59            "binaryDir": "${sourceDir}/build-clazy",
60            "cacheVariables": {
61                "CMAKE_BUILD_TYPE": "Debug"
62            },
63            "environment": {
64                "CXX": "clazy",
65                "CCACHE_DISABLE": "ON"
66            }
67        }
68    ],
69    "buildPresets": [
70        {
71            "name": "dev",
72            "configurePreset": "dev"
73        },
74        {
75            "name": "clazy",
76            "configurePreset": "clazy",
77            "environment": {
78                "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",
79                "CCACHE_DISABLE" : "ON"
80            }
81        }
82    ]
83}
84