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