Skip to content

Commit 5b97ed2

Browse files
committed
Support modern IDEs with CMakePresets
1 parent cfcde43 commit 5b97ed2

File tree

1 file changed

+292
-0
lines changed

1 file changed

+292
-0
lines changed

CMakePresets.json

+292
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,292 @@
1+
{
2+
"version": 3,
3+
"cmakeMinimumRequired" : {
4+
"major": 3,
5+
"minor": 20,
6+
"patch": 0
7+
},
8+
"configurePresets": [
9+
{
10+
"name": "windows-base",
11+
"hidden": true,
12+
"binaryDir": "${sourceDir}/build/${presetName}",
13+
"architecture": {
14+
"value": "x64",
15+
"strategy": "external"
16+
},
17+
"condition": {
18+
"type": "equals",
19+
"lhs": "${hostSystemName}",
20+
"rhs": "Windows"
21+
}
22+
},
23+
{
24+
"name": "windows-msvc-base",
25+
"hidden": true,
26+
"inherits": "windows-base",
27+
"cacheVariables": {
28+
"CMAKE_CXX_COMPILER": "cl.exe"
29+
},
30+
"vendor": {
31+
"microsoft.com/VisualStudioSettings/CMake/1.0": {
32+
"intelliSenseMode": "windows-msvc-x64"
33+
}
34+
}
35+
},
36+
{
37+
"name": "windows-clang-base",
38+
"hidden": true,
39+
"inherits": "windows-base",
40+
"cacheVariables": {
41+
"CMAKE_CXX_COMPILER": "clang-cl.exe"
42+
},
43+
"vendor": {
44+
"microsoft.com/VisualStudioSettings/CMake/1.0": {
45+
"intelliSenseMode": "windows-clang-x64"
46+
}
47+
}
48+
},
49+
{
50+
"name": "linux-base",
51+
"hidden": true,
52+
"binaryDir": "${sourceDir}/build/${presetName}",
53+
"condition": {
54+
"type": "equals",
55+
"lhs": "${hostSystemName}",
56+
"rhs": "Linux"
57+
},
58+
"vendor": {
59+
"microsoft.com/VisualStudioRemoteSettings/CMake/1.0": {
60+
"sourceDir": "$env{HOME}/.vs/$ms{projectDirName}"
61+
},
62+
"microsoft.com/VisualStudioSettings/CMake/1.0": {
63+
"intelliSenseMode": "linux-gcc-x64",
64+
"hostOS": [
65+
"Linux"
66+
]
67+
}
68+
}
69+
},
70+
{
71+
"name": "linux-gcc-base",
72+
"hidden": true,
73+
"inherits": "linux-base",
74+
"cacheVariables": {
75+
"CMAKE_CXX_COMPILER": "g++"
76+
}
77+
},
78+
{
79+
"name": "linux-clang-base",
80+
"hidden": true,
81+
"inherits": "linux-base",
82+
"cacheVariables": {
83+
"CMAKE_CXX_COMPILER": "clang++"
84+
}
85+
},
86+
{
87+
"name": "apple-m1-base",
88+
"hidden": true,
89+
"binaryDir": "${sourceDir}/build/${presetName}",
90+
"architecture": {
91+
"value": "arm64",
92+
"strategy": "external"
93+
},
94+
"condition": {
95+
"type": "equals",
96+
"lhs": "${hostSystemName}",
97+
"rhs": "Darwin"
98+
}
99+
},
100+
{
101+
"name": "ninja",
102+
"hidden": true,
103+
"generator": "Ninja"
104+
},
105+
{
106+
"name": "make",
107+
"hidden": true,
108+
"generator": "Unix Makefiles"
109+
},
110+
{
111+
"name": "_release",
112+
"hidden": true,
113+
"cacheVariables": {
114+
"CMAKE_BUILD_TYPE": "Release"
115+
}
116+
},
117+
{
118+
"name": "_debug",
119+
"hidden": true,
120+
"cacheVariables": {
121+
"CMAKE_BUILD_TYPE": "Debug"
122+
}
123+
},
124+
{
125+
"name": "_relwithdebinfo",
126+
"hidden": true,
127+
"cacheVariables": {
128+
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
129+
}
130+
},
131+
{
132+
"name": "linux-clang-debug",
133+
"inherits": [
134+
"linux-clang-base",
135+
"make",
136+
"_debug"
137+
]
138+
},
139+
{
140+
"name": "linux-clang-release",
141+
"inherits": [
142+
"linux-clang-base",
143+
"make",
144+
"_release"
145+
]
146+
},
147+
{
148+
"name": "linux-clang-relwithdebinfo",
149+
"inherits": [
150+
"linux-clang-base",
151+
"make",
152+
"_relwithdebinfo"
153+
]
154+
},
155+
{
156+
"name": "linux-gcc-debug",
157+
"inherits": [
158+
"linux-gcc-base",
159+
"make",
160+
"_debug"
161+
]
162+
},
163+
{
164+
"name": "linux-gcc-release",
165+
"inherits": [
166+
"linux-gcc-base",
167+
"make",
168+
"_release"
169+
]
170+
},
171+
{
172+
"name": "linux-gcc-relwithdebinfo",
173+
"inherits": [
174+
"linux-gcc-base",
175+
"make",
176+
"_relwithdebinfo"
177+
]
178+
},
179+
{
180+
"name": "linux-clang-ninja-debug",
181+
"inherits": [
182+
"linux-clang-debug",
183+
"ninja"
184+
]
185+
},
186+
{
187+
"name": "linux-clang-ninja-release",
188+
"inherits": [
189+
"linux-clang-release",
190+
"ninja"
191+
]
192+
},
193+
{
194+
"name": "linux-clang-ninja-relwithdebinfo",
195+
"inherits": [
196+
"linux-clang-relwithdebinfo",
197+
"ninja"
198+
]
199+
},
200+
{
201+
"name": "linux-gcc-ninja-debug",
202+
"inherits": [
203+
"linux-gcc-debug",
204+
"ninja"
205+
]
206+
},
207+
{
208+
"name": "linux-gcc-ninja-release",
209+
"inherits": [
210+
"linux-gcc-release",
211+
"ninja"
212+
]
213+
},
214+
{
215+
"name": "linux-gcc-ninja-relwithdebinfo",
216+
"inherits": [
217+
"linux-gcc-relwithdebinfo",
218+
"ninja"
219+
]
220+
},
221+
{
222+
"name": "linux-gcc-debug-with-clang-tidy",
223+
"inherits": [
224+
"linux-gcc-base",
225+
"make",
226+
"_debug"
227+
]
228+
},
229+
{
230+
"name": "windows-clang-release",
231+
"inherits": [
232+
"windows-clang-base",
233+
"ninja",
234+
"_release"
235+
]
236+
},
237+
{
238+
"name": "windows-clang-debug",
239+
"inherits": [
240+
"windows-clang-base",
241+
"ninja",
242+
"_debug"
243+
]
244+
},
245+
{
246+
"name": "windows-clang-relwithdebinfo",
247+
"inherits": [
248+
"windows-clang-base",
249+
"ninja",
250+
"_relwithdebinfo"
251+
]
252+
},
253+
{
254+
"name": "windows-msvc-release",
255+
"inherits": [
256+
"windows-msvc-base",
257+
"ninja",
258+
"_release"
259+
]
260+
},
261+
{
262+
"name": "windows-msvc-debug",
263+
"inherits": [
264+
"windows-msvc-base",
265+
"ninja",
266+
"_debug"
267+
]
268+
},
269+
{
270+
"name": "windows-msvc-relwithdebinfo",
271+
"inherits": [
272+
"windows-msvc-base",
273+
"ninja",
274+
"_relwithdebinfo"
275+
]
276+
},
277+
{
278+
"name": "apple-m1-ninja-debug",
279+
"description": "Apple M1 preset",
280+
"inherits": [
281+
"apple-m1-base",
282+
"ninja",
283+
"_debug"
284+
],
285+
"cacheVariables": {
286+
"ENABLE_TESTS": "OFF",
287+
"BUILD_SHARED_LIBS": false,
288+
"ENABLE_COMPONENT_TESTS": "ON"
289+
}
290+
}
291+
]
292+
}

0 commit comments

Comments
 (0)