Skip to content

Commit dcd9efc

Browse files
committed
Add basic CMakePresets
1 parent 339f94c commit dcd9efc

4 files changed

Lines changed: 369 additions & 0 deletions

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,5 @@ GKlib
6262

6363
include/metis.h
6464

65+
### Project specific
66+
CMakeUserPresets.json

CMakePresets.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"version": 6,
3+
"cmakeMinimumRequired": {
4+
"major": 3,
5+
"minor": 25,
6+
"patch": 0
7+
},
8+
"include": [
9+
"cmake/CMakePresets-defaults.json",
10+
"cmake/CMakePresets-CI.json"
11+
]
12+
}

cmake/CMakePresets-CI.json

Lines changed: 305 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,305 @@
1+
{
2+
"version": 6,
3+
"include": [
4+
"CMakePresets-defaults.json"
5+
],
6+
"configurePresets": [
7+
{
8+
"name": "ci-base",
9+
"hidden": true,
10+
"generator": "Ninja",
11+
"inherits": [
12+
"default"
13+
],
14+
"cacheVariables": {
15+
"METIS_TESTS": {
16+
"type": "BOOL",
17+
"value": true
18+
},
19+
"METIS_PROGRAMS": {
20+
"type": "BOOL",
21+
"value": true
22+
}
23+
},
24+
"errors": {
25+
"deprecated": true
26+
}
27+
},
28+
{
29+
"name": "gcc-ci",
30+
"displayName": "GCC toolchain",
31+
"inherits": [
32+
"ci-base"
33+
],
34+
"binaryDir": "cmake-build-ci-gcc",
35+
"cacheVariables": {
36+
"CMAKE_C_COMPILER": {
37+
"type": "FILEPATH",
38+
"value": "gcc"
39+
},
40+
"CMAKE_LINKER_TYPE": {
41+
"type": "STRING",
42+
"value": "SYSTEM"
43+
}
44+
}
45+
},
46+
{
47+
"name": "intel-ci",
48+
"displayName": "Intel toolchain",
49+
"inherits": [
50+
"ci-base"
51+
],
52+
"binaryDir": "cmake-build-ci-intel",
53+
"cacheVariables": {
54+
"CMAKE_C_COMPILER": {
55+
"type": "FILEPATH",
56+
"value": "icx"
57+
},
58+
"CMAKE_LINKER_TYPE": {
59+
"type": "STRING",
60+
"value": "SYSTEM"
61+
}
62+
}
63+
},
64+
{
65+
"name": "llvm-ci",
66+
"displayName": "LLVM (Clang) toolchain",
67+
"inherits": [
68+
"ci-base"
69+
],
70+
"binaryDir": "cmake-build-ci-llvm",
71+
"cacheVariables": {
72+
"CMAKE_C_COMPILER": {
73+
"type": "FILEPATH",
74+
"value": "clang"
75+
},
76+
"CMAKE_LINKER_TYPE": {
77+
"type": "STRING",
78+
"value": "LLD"
79+
}
80+
}
81+
},
82+
{
83+
"name": "windows-ci",
84+
"displayName": "Windows native toolchain",
85+
"inherits": [
86+
"ci-base"
87+
],
88+
"binaryDir": "cmake-build-ci-windows",
89+
"cacheVariables": {
90+
"CMAKE_C_COMPILER": {
91+
"type": "FILEPATH",
92+
"value": "cl"
93+
}
94+
}
95+
},
96+
{
97+
"name": "macos-ci",
98+
"displayName": "MacOS native toolchain",
99+
"inherits": [
100+
"ci-base"
101+
],
102+
"binaryDir": "cmake-build-ci-macos",
103+
"cacheVariables": {
104+
"CMAKE_C_COMPILER": {
105+
"type": "FILEPATH",
106+
"value": "clang"
107+
}
108+
}
109+
}
110+
],
111+
"buildPresets": [
112+
{
113+
"name": "ci-base",
114+
"hidden": true,
115+
"inherits": [
116+
"default"
117+
],
118+
"cleanFirst": true
119+
},
120+
{
121+
"name": "gcc-ci",
122+
"displayName": "GCC toolchain",
123+
"inherits": [
124+
"ci-base"
125+
],
126+
"configurePreset": "gcc-ci"
127+
},
128+
{
129+
"name": "intel-ci",
130+
"displayName": "Intel toolchain",
131+
"inherits": [
132+
"ci-base"
133+
],
134+
"configurePreset": "intel-ci"
135+
},
136+
{
137+
"name": "llvm-ci",
138+
"displayName": "LLVM (Clang) toolchain",
139+
"inherits": [
140+
"ci-base"
141+
],
142+
"configurePreset": "llvm-ci"
143+
},
144+
{
145+
"name": "windows-ci",
146+
"displayName": "Windows native toolchain",
147+
"inherits": [
148+
"ci-base"
149+
],
150+
"configurePreset": "windows-ci"
151+
},
152+
{
153+
"name": "macos-ci",
154+
"displayName": "MacOS native toolchain",
155+
"inherits": [
156+
"ci-base"
157+
],
158+
"configurePreset": "macos-ci"
159+
}
160+
],
161+
"testPresets": [
162+
{
163+
"name": "ci-base",
164+
"hidden": true,
165+
"inherits": [
166+
"default"
167+
],
168+
"output": {
169+
"outputOnFailure": true
170+
}
171+
},
172+
{
173+
"name": "gcc-ci",
174+
"displayName": "GCC toolchain",
175+
"inherits": [
176+
"ci-base"
177+
],
178+
"configurePreset": "gcc-ci"
179+
},
180+
{
181+
"name": "intel-ci",
182+
"displayName": "Intel toolchain",
183+
"inherits": [
184+
"ci-base"
185+
],
186+
"configurePreset": "intel-ci"
187+
},
188+
{
189+
"name": "llvm-ci",
190+
"displayName": "LLVM (Clang) toolchain",
191+
"inherits": [
192+
"ci-base"
193+
],
194+
"configurePreset": "llvm-ci"
195+
},
196+
{
197+
"name": "windows-ci",
198+
"displayName": "Windows native toolchain",
199+
"inherits": [
200+
"ci-base"
201+
],
202+
"configurePreset": "windows-ci"
203+
},
204+
{
205+
"name": "macos-ci",
206+
"displayName": "MacOS native toolchain",
207+
"inherits": [
208+
"ci-base"
209+
],
210+
"configurePreset": "macos-ci"
211+
}
212+
],
213+
"workflowPresets": [
214+
{
215+
"name": "gcc-ci",
216+
"displayName": "GCC toolchain",
217+
"steps": [
218+
{
219+
"type": "configure",
220+
"name": "gcc-ci"
221+
},
222+
{
223+
"type": "build",
224+
"name": "gcc-ci"
225+
},
226+
{
227+
"type": "test",
228+
"name": "gcc-ci"
229+
}
230+
]
231+
},
232+
{
233+
"name": "intel-ci",
234+
"displayName": "Intel toolchain",
235+
"steps": [
236+
{
237+
"type": "configure",
238+
"name": "intel-ci"
239+
},
240+
{
241+
"type": "build",
242+
"name": "intel-ci"
243+
},
244+
{
245+
"type": "test",
246+
"name": "intel-ci"
247+
}
248+
]
249+
},
250+
{
251+
"name": "llvm-ci",
252+
"displayName": "LLVM (Clang) toolchain",
253+
"steps": [
254+
{
255+
"type": "configure",
256+
"name": "llvm-ci"
257+
},
258+
{
259+
"type": "build",
260+
"name": "llvm-ci"
261+
},
262+
{
263+
"type": "test",
264+
"name": "llvm-ci"
265+
}
266+
]
267+
},
268+
{
269+
"name": "windows-ci",
270+
"displayName": "Windows native toolchain",
271+
"steps": [
272+
{
273+
"type": "configure",
274+
"name": "windows-ci"
275+
},
276+
{
277+
"type": "build",
278+
"name": "windows-ci"
279+
},
280+
{
281+
"type": "test",
282+
"name": "windows-ci"
283+
}
284+
]
285+
},
286+
{
287+
"name": "macos-ci",
288+
"displayName": "MacOS native toolchain",
289+
"steps": [
290+
{
291+
"type": "configure",
292+
"name": "macos-ci"
293+
},
294+
{
295+
"type": "build",
296+
"name": "macos-ci"
297+
},
298+
{
299+
"type": "test",
300+
"name": "macos-ci"
301+
}
302+
]
303+
}
304+
]
305+
}

cmake/CMakePresets-defaults.json

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
{
2+
"version": 6,
3+
"configurePresets": [
4+
{
5+
"name": "default",
6+
"displayName": "Default preset",
7+
"binaryDir": "cmake-build-release",
8+
"cacheVariables": {
9+
"CMAKE_BUILD_TYPE": {
10+
"type": "STRING",
11+
"value": "Release"
12+
}
13+
}
14+
}
15+
],
16+
"buildPresets": [
17+
{
18+
"name": "default",
19+
"displayName": "Default preset",
20+
"configurePreset": "default"
21+
}
22+
],
23+
"testPresets": [
24+
{
25+
"name": "default",
26+
"displayName": "Default preset",
27+
"configurePreset": "default"
28+
}
29+
],
30+
"workflowPresets": [
31+
{
32+
"name": "default",
33+
"displayName": "Default workflow",
34+
"steps": [
35+
{
36+
"type": "configure",
37+
"name": "default"
38+
},
39+
{
40+
"type": "build",
41+
"name": "default"
42+
},
43+
{
44+
"type": "test",
45+
"name": "default"
46+
}
47+
]
48+
}
49+
]
50+
}

0 commit comments

Comments
 (0)