1
+ {
2
+ "version" : 2 ,
3
+ "cmakeMinimumRequired" : {
4
+ "major" : 3 ,
5
+ "minor" : 20 ,
6
+ "patch" : 0
7
+ },
8
+ "configurePresets" : [
9
+ {
10
+ "name" : " default" ,
11
+ "description" : " Build configuration using Ninja Multi-config" ,
12
+ "generator" : " Ninja Multi-Config" ,
13
+ "binaryDir" : " ${sourceDir}/out/default" ,
14
+ "cacheVariables" : {
15
+ "CMAKE_EXPORT_COMPILE_COMMANDS" : " ON"
16
+ }
17
+ },
18
+ {
19
+ "name" : " ninja-clang" ,
20
+ "description" : " Build configuration using Ninja Multi-config / clang" ,
21
+ "inherits" : " default" ,
22
+ "binaryDir" : " ${sourceDir}/out/clang" ,
23
+ "cacheVariables" : {
24
+ "CMAKE_C_COMPILER" : " clang" ,
25
+ "CMAKE_CXX_COMPILER" : " clang++"
26
+ }
27
+ },
28
+ {
29
+ "name" : " ninja-ubsan" ,
30
+ "description" : " UBSan build configuration using Ninja Multi-config" ,
31
+ "inherits" : " default" ,
32
+ "binaryDir" : " ${sourceDir}/out/ubsan" ,
33
+ "cacheVariables" : {
34
+ "CMAKE_C_FLAGS" : " -fsanitize=undefined" ,
35
+ "CMAKE_CXX_FLAGS" : " -fsanitize=undefined"
36
+ }
37
+ },
38
+ {
39
+ "name" : " ninja-asan" ,
40
+ "description" : " ASan build configuration using Ninja Multi-config" ,
41
+ "inherits" : " default" ,
42
+ "binaryDir" : " ${sourceDir}/out/asan" ,
43
+ "cacheVariables" : {
44
+ "CMAKE_C_FLAGS" : " -fsanitize=address" ,
45
+ "CMAKE_CXX_FLAGS" : " -fsanitize=address"
46
+ }
47
+ },
48
+ {
49
+ "name" : " ninja-tsan" ,
50
+ "description" : " TSan build configuration using Ninja Multi-config" ,
51
+ "inherits" : " default" ,
52
+ "binaryDir" : " ${sourceDir}/out/tsan" ,
53
+ "cacheVariables" : {
54
+ "CMAKE_C_FLAGS" : " -fsanitize=thread" ,
55
+ "CMAKE_CXX_FLAGS" : " -fsanitize=thread"
56
+ }
57
+ },
58
+ {
59
+ "name" : " vs22" ,
60
+ "description" : " Build configuration using Visual Studio 17 (2022)" ,
61
+ "generator" : " Visual Studio 17 2022" ,
62
+ "binaryDir" : " ${sourceDir}/out/vs" ,
63
+ "architecture" : {
64
+ "value" : " x64" ,
65
+ "strategy" : " external"
66
+ }
67
+ }
68
+ ],
69
+ "buildPresets" : [
70
+ {
71
+ "name" : " Debug" ,
72
+ "configurePreset" : " default" ,
73
+ "configuration" : " Debug"
74
+ },
75
+ {
76
+ "name" : " Release" ,
77
+ "configurePreset" : " default" ,
78
+ "configuration" : " Release"
79
+ },
80
+ {
81
+ "name" : " RelWithDebInfo" ,
82
+ "configurePreset" : " default" ,
83
+ "configuration" : " RelWithDebInfo"
84
+ },
85
+ {
86
+ "name" : " UBSan Debug" ,
87
+ "configurePreset" : " ninja-ubsan" ,
88
+ "configuration" : " Debug"
89
+ }
90
+ ],
91
+ "testPresets" : [
92
+ {
93
+ "name" : " Debug" ,
94
+ "configurePreset" : " default" ,
95
+ "configuration" : " Debug" ,
96
+ "inheritConfigureEnvironment" : true
97
+ },
98
+ {
99
+ "name" : " Release" ,
100
+ "configurePreset" : " default" ,
101
+ "configuration" : " Release" ,
102
+ "inheritConfigureEnvironment" : true
103
+ },
104
+ {
105
+ "name" : " RelWithDebInfo" ,
106
+ "configurePreset" : " default" ,
107
+ "configuration" : " RelWithDebInfo" ,
108
+ "inheritConfigureEnvironment" : true
109
+ },
110
+ {
111
+ "name" : " UBSan Debug" ,
112
+ "configurePreset" : " ninja-ubsan" ,
113
+ "configuration" : " Debug" ,
114
+ "inheritConfigureEnvironment" : true
115
+ }
116
+ ]
117
+ }
0 commit comments