Skip to content

Commit ca742e3

Browse files
committed
improve cmake presets
[ci skip]
1 parent aa8c6e2 commit ca742e3

File tree

2 files changed

+87
-27
lines changed

2 files changed

+87
-27
lines changed

CMakePresets.json

Lines changed: 42 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,49 @@
44
"$schema":
55
"https://cmake.org/cmake/help/latest/_downloads/3e2d73bff478d88a7de0de736ba5e361/schema.json",
66
"configurePresets":
7-
[{"name":"debug",
8-
"binaryDir":
9-
"${sourceDir}/build/cmkps-${hostSystemName}-${presetName}",
10-
"cacheVariables":{"CMAKE_BUILD_TYPE":"Debug", "RYML_DEV":"ON"}},
11-
{"name":"release",
7+
[{"name":"release",
128
"displayName":"Release",
9+
"cacheVariables":
10+
{"C4_EXTERN_DIR":"${sourceDir}/build/extern",
11+
"CMAKE_BUILD_TYPE":"Release"},
12+
"binaryDir":
13+
"${sourceDir}/build/preset-${hostSystemName}-${presetName}",
14+
"environment":{"CTEST_PARALLEL_LEVEL":""}},
15+
{"name":"debug",
16+
"displayName":"Debug",
17+
"cacheVariables":
18+
{"C4_EXTERN_DIR":"${sourceDir}/build/extern",
19+
"CMAKE_BUILD_TYPE":"Debug"},
20+
"binaryDir":
21+
"${sourceDir}/build/preset-${hostSystemName}-${presetName}",
22+
"environment":{"CTEST_PARALLEL_LEVEL":""}},
23+
{"name":"release-dev",
24+
"displayName":"Release-dev",
25+
"cacheVariables":
26+
{"C4_EXTERN_DIR":"${sourceDir}/build/extern",
27+
"CMAKE_BUILD_TYPE":"Release",
28+
"RYML_DEV":"ON"},
1329
"binaryDir":
14-
"${sourceDir}/build/cmkps-${hostSystemName}-${presetName}",
15-
"cacheVariables":{"CMAKE_BUILD_TYPE":"Release", "RYML_DEV":"ON"}}],
30+
"${sourceDir}/build/preset-${hostSystemName}-${presetName}",
31+
"environment":{"CTEST_PARALLEL_LEVEL":""}},
32+
{"name":"debug-dev",
33+
"displayName":"Debug-dev",
34+
"cacheVariables":
35+
{"C4_EXTERN_DIR":"${sourceDir}/build/extern",
36+
"CMAKE_BUILD_TYPE":"Debug",
37+
"RYML_DEV":"ON"},
38+
"binaryDir":
39+
"${sourceDir}/build/preset-${hostSystemName}-${presetName}",
40+
"environment":{"CTEST_PARALLEL_LEVEL":""}}],
1641
"buildPresets":
17-
[{"name":"debug", "configurePreset":"debug", "configuration":
18-
"Debug"},
19-
{"name":"release",
42+
[{"name":"release",
2043
"configurePreset":"release",
21-
"configuration":"Release"}]}
44+
"configuration":"Release"},
45+
{"name":"debug", "configurePreset":"debug", "configuration":
46+
"Debug"},
47+
{"name":"release-dev",
48+
"configurePreset":"release-dev",
49+
"configuration":"Release-dev"},
50+
{"name":"debug-dev",
51+
"configurePreset":"debug-dev",
52+
"configuration":"Debug-dev"}]}

CMakePresets.ys

Lines changed: 45 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,21 @@
22
# https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html
33
--- !yamlscript/v0:
44

5+
.config_common: &config_common
6+
binaryDir: ${sourceDir}/build/preset-${hostSystemName}-${presetName}
7+
environment:
8+
CTEST_PARALLEL_LEVEL: "" # nproc parallelism - available only from 3.29
9+
10+
.vars_common: &vars_common
11+
C4_EXTERN_DIR: ${sourceDir}/build/extern
12+
513
.vars_debug: &vars_debug
614
CMAKE_BUILD_TYPE: Debug
7-
RYML_DEV: ON
815

916
.vars_release: &vars_release
1017
CMAKE_BUILD_TYPE: Release
18+
19+
.vars_dev: &vars_dev
1120
RYML_DEV: ON
1221

1322

@@ -24,27 +33,47 @@ $schema: https://cmake.org/cmake/help/latest/_downloads/3e2d73bff478d88a7de0de73
2433
#------------------------------------------------------------------------------
2534
configurePresets:
2635
#------------------------------------------------------------------------------
27-
-
28-
name: debug
29-
binaryDir: ${sourceDir}/build/cmkps-${hostSystemName}-${presetName}
30-
cacheVariables:
31-
<<: *vars_debug
32-
-
33-
name: release
36+
37+
- name: release
3438
displayName: Release
35-
binaryDir: ${sourceDir}/build/cmkps-${hostSystemName}-${presetName}
39+
<<: *config_common
3640
cacheVariables:
37-
<<: *vars_release
41+
<<: [*vars_common, *vars_release]
42+
43+
- name: debug
44+
displayName: Debug
45+
<<: *config_common
46+
cacheVariables:
47+
<<: [*vars_common, *vars_debug]
48+
49+
- name: release-dev
50+
displayName: Release-dev
51+
<<: *config_common
52+
cacheVariables:
53+
<<: [*vars_common, *vars_release, *vars_dev]
54+
55+
- name: debug-dev
56+
displayName: Debug-dev
57+
<<: *config_common
58+
cacheVariables:
59+
<<: [*vars_common, *vars_debug, *vars_dev]
3860

3961

4062
#------------------------------------------------------------------------------
4163
buildPresets:
4264
#------------------------------------------------------------------------------
43-
-
44-
name: debug
45-
configurePreset: debug
46-
configuration: Debug
47-
-
48-
name: release
65+
- name: release
4966
configurePreset: release
5067
configuration: Release
68+
69+
- name: debug
70+
configurePreset: debug
71+
configuration: Debug
72+
73+
- name: release-dev
74+
configurePreset: release-dev
75+
configuration: Release-dev
76+
77+
- name: debug-dev
78+
configurePreset: debug-dev
79+
configuration: Debug-dev

0 commit comments

Comments
 (0)