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": "dev-disable-deprecated",
16            "displayName": "Build as without deprecated methods",
17            "generator": "Ninja",
18            "binaryDir": "${sourceDir}/build-disable-deprecated",
19            "cacheVariables": {
20                "CMAKE_BUILD_TYPE": "Debug",
21                "CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
22		"CMAKE_CXX_FLAGS_INIT": "-DQT_DISABLE_DEPRECATED_BEFORE=0x060000 -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x060000"
23            }
24        },
25        {
26            "name": "asan",
27            "displayName": "Build with Asan support.",
28            "generator": "Ninja",
29            "binaryDir": "${sourceDir}/build-asan",
30            "cacheVariables": {
31                "CMAKE_BUILD_TYPE": "Debug",
32                "ECM_ENABLE_SANITIZERS" : "'address;undefined'",
33		"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
34            }
35        },
36        {
37            "name": "unity",
38            "displayName": "Build with CMake unity support.",
39            "generator": "Ninja",
40            "binaryDir": "${sourceDir}/build-unity",
41            "cacheVariables": {
42                "CMAKE_BUILD_TYPE": "Debug",
43		"CMAKE_UNITY_BUILD": "ON",
44		"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
45            }
46        },
47        {
48            "name": "release",
49            "displayName": "Build as release mode.",
50            "generator": "Ninja",
51            "binaryDir": "${sourceDir}/build-release",
52            "cacheVariables": {
53                "CMAKE_BUILD_TYPE": "Release"
54            }
55        },
56        {
57            "name": "profile",
58            "displayName": "profile",
59            "generator": "Ninja",
60            "binaryDir": "${sourceDir}/build-profile",
61            "cacheVariables": {
62                "CMAKE_BUILD_TYPE": "RelWithDebInfo",
63		"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
64            }
65	},
66        {
67            "name": "clazy",
68            "displayName": "clazy",
69            "generator": "Ninja",
70            "binaryDir": "${sourceDir}/build-clazy",
71            "cacheVariables": {
72                "CMAKE_BUILD_TYPE": "Debug"
73            },
74            "environment": {
75                "CXX": "clazy",
76                "CCACHE_DISABLE": "ON"
77            }
78        }
79    ],
80    "buildPresets": [
81        {
82            "name": "dev",
83            "configurePreset": "dev"
84        },
85        {
86            "name": "asan",
87            "configurePreset": "asan"
88        },
89	{
90            "name": "dev-disable-deprecated",
91            "configurePreset": "dev-disable-deprecated"
92        },
93	{
94            "name": "unity",
95            "configurePreset": "unity"
96        },
97        {
98            "name": "clazy",
99            "configurePreset": "clazy",
100            "environment": {
101                "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",
102                "CCACHE_DISABLE" : "ON"
103            }
104        }
105    ]
106}
107