Skip to content

Commit a36470b

Browse files
committed
Add test configurations to CMake presets
1 parent 3f6d70c commit a36470b

File tree

1 file changed

+56
-32
lines changed

1 file changed

+56
-32
lines changed

CMakePresets.json

Lines changed: 56 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
"version": 4,
33
"cmakeMinimumRequired": {
44
"major": 3,
5-
"minor": 23,
6-
"patch": 0
5+
"minor": 23
76
},
87
"configurePresets": [
98
{
@@ -14,83 +13,108 @@
1413
"cacheVariables": {
1514
"ENABLE_TESTING": "ON",
1615
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
17-
}
16+
},
17+
"description": "Common settings for all configurations"
1818
},
1919
{
2020
"name": "gcc-RelWithDebInfo",
2121
"inherits": "base",
22-
"description": "GCC with RelWithDebInfo",
2322
"cacheVariables": {
24-
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
25-
"CMAKE_C_COMPILER": "/usr/bin/gcc",
26-
"CMAKE_CXX_COMPILER": "/usr/bin/g++"
27-
}
23+
"CMAKE_C_COMPILER": "gcc",
24+
"CMAKE_CXX_COMPILER": "g++",
25+
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
26+
},
27+
"description": "GCC build with RelWithDebInfo configuration"
2828
},
2929
{
3030
"name": "gcc-Sanitize",
3131
"inherits": "base",
32-
"description": "GCC with ASan/UBSan (custom Sanitize build type)",
3332
"cacheVariables": {
34-
"CMAKE_BUILD_TYPE": "Sanitize",
35-
"CMAKE_C_COMPILER": "/usr/bin/gcc",
36-
"CMAKE_CXX_COMPILER": "/usr/bin/g++"
37-
}
33+
"CMAKE_C_COMPILER": "gcc",
34+
"CMAKE_CXX_COMPILER": "g++",
35+
"CMAKE_BUILD_TYPE": "Sanitize"
36+
},
37+
"description": "GCC build with custom Sanitize configuration"
3838
},
3939
{
4040
"name": "clang-RelWithDebInfo",
4141
"inherits": "base",
42-
"description": "Clang with RelWithDebInfo",
4342
"cacheVariables": {
44-
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
45-
"CMAKE_C_COMPILER": "/usr/bin/clang",
46-
"CMAKE_CXX_COMPILER": "/usr/bin/clang++"
47-
}
43+
"CMAKE_C_COMPILER": "clang",
44+
"CMAKE_CXX_COMPILER": "clang++",
45+
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
46+
},
47+
"description": "Clang build with RelWithDebInfo configuration"
4848
},
4949
{
5050
"name": "clang-Sanitize",
5151
"inherits": "base",
52-
"description": "Clang with ASan/UBSan (custom Sanitize build type)",
5352
"cacheVariables": {
54-
"CMAKE_BUILD_TYPE": "Sanitize",
55-
"CMAKE_C_COMPILER": "/usr/bin/clang",
56-
"CMAKE_CXX_COMPILER": "/usr/bin/clang++"
57-
}
53+
"CMAKE_C_COMPILER": "clang",
54+
"CMAKE_CXX_COMPILER": "clang++",
55+
"CMAKE_BUILD_TYPE": "Sanitize"
56+
},
57+
"description": "Clang build with custom Sanitize configuration"
5858
}
5959
],
6060
"buildPresets": [
6161
{
6262
"name": "gcc-RelWithDebInfo",
63-
"configurePreset": "gcc-RelWithDebInfo"
63+
"configurePreset": "gcc-RelWithDebInfo",
64+
"description": "Build using gcc-RelWithDebInfo configuration"
6465
},
6566
{
6667
"name": "gcc-Sanitize",
67-
"configurePreset": "gcc-Sanitize"
68+
"configurePreset": "gcc-Sanitize",
69+
"description": "Build using gcc-Sanitize configuration"
6870
},
6971
{
7072
"name": "clang-RelWithDebInfo",
71-
"configurePreset": "clang-RelWithDebInfo"
73+
"configurePreset": "clang-RelWithDebInfo",
74+
"description": "Build using clang-RelWithDebInfo configuration"
7275
},
7376
{
7477
"name": "clang-Sanitize",
75-
"configurePreset": "clang-Sanitize"
78+
"configurePreset": "clang-Sanitize",
79+
"description": "Build using clang-Sanitize configuration"
7680
}
7781
],
7882
"testPresets": [
83+
{
84+
"name": "test-base",
85+
"hidden": true,
86+
"description": "Common test settings for all configurations",
87+
"output": {
88+
"outputOnFailure": true
89+
},
90+
"execution": {
91+
"noTestsAction": "error",
92+
"stopOnFailure": true
93+
}
94+
},
7995
{
8096
"name": "gcc-RelWithDebInfo",
81-
"configurePreset": "gcc-RelWithDebInfo"
97+
"inherits": "test-base",
98+
"configurePreset": "gcc-RelWithDebInfo",
99+
"description": "Test using gcc-RelWithDebInfo configuration"
82100
},
83101
{
84102
"name": "gcc-Sanitize",
85-
"configurePreset": "gcc-Sanitize"
103+
"inherits": "test-base",
104+
"configurePreset": "gcc-Sanitize",
105+
"description": "Test using gcc-Sanitize configuration"
86106
},
87107
{
88108
"name": "clang-RelWithDebInfo",
89-
"configurePreset": "clang-RelWithDebInfo"
109+
"inherits": "test-base",
110+
"configurePreset": "clang-RelWithDebInfo",
111+
"description": "Test using clang-RelWithDebInfo configuration"
90112
},
91113
{
92114
"name": "clang-Sanitize",
93-
"configurePreset": "clang-Sanitize"
115+
"inherits": "test-base",
116+
"configurePreset": "clang-Sanitize",
117+
"description": "Test using clang-Sanitize configuration"
94118
}
95119
]
96-
}
120+
}

0 commit comments

Comments
 (0)