Skip to content

Commit cfa4e33

Browse files
committed
Add basic CMakePresets
Signed-off-by: Cristian Le <[email protected]>
1 parent 3f7868a commit cfa4e33

File tree

4 files changed

+371
-0
lines changed

4 files changed

+371
-0
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,3 +55,7 @@ dkms.conf
5555
build/
5656
lib/
5757
.svn/
58+
59+
### Project specific
60+
CMakeUserPresets.json
61+
cmake-build-*

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

cmake/CMakePresets-defaults.json

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
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+
"CMAKE_MESSAGE_CONTEXT_SHOW": {
14+
"type": "BOOL",
15+
"value": true
16+
}
17+
}
18+
}
19+
],
20+
"buildPresets": [
21+
{
22+
"name": "default",
23+
"displayName": "Default preset",
24+
"configurePreset": "default"
25+
}
26+
],
27+
"testPresets": [
28+
{
29+
"name": "default",
30+
"displayName": "Default preset",
31+
"configurePreset": "default"
32+
}
33+
],
34+
"workflowPresets": [
35+
{
36+
"name": "default",
37+
"displayName": "Default workflow",
38+
"steps": [
39+
{
40+
"type": "configure",
41+
"name": "default"
42+
},
43+
{
44+
"type": "build",
45+
"name": "default"
46+
},
47+
{
48+
"type": "test",
49+
"name": "default"
50+
}
51+
]
52+
}
53+
]
54+
}

0 commit comments

Comments
 (0)