Skip to content

Commit 5a762de

Browse files
committed
Add CMake presets for GCC and Clang
1 parent 067b2bb commit 5a762de

File tree

1 file changed

+82
-0
lines changed

1 file changed

+82
-0
lines changed

CMakePresets.json

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
{
2+
"version": 4,
3+
"cmakeMinimumRequired": {
4+
"major": 3,
5+
"minor": 23,
6+
"patch": 0
7+
},
8+
"configurePresets": [
9+
{
10+
"name": "base",
11+
"hidden": true,
12+
"generator": "Ninja",
13+
"binaryDir": "${sourceDir}/build/${presetName}",
14+
"cacheVariables": {
15+
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
16+
"ENABLE_TESTING": "ON"
17+
}
18+
},
19+
{
20+
"name": "gcc-release",
21+
"inherits": "base",
22+
"description": "Build using GCC in Release mode",
23+
"cacheVariables": {
24+
"CMAKE_BUILD_TYPE": "Release",
25+
"CMAKE_C_COMPILER": "/usr/bin/gcc",
26+
"CMAKE_CXX_COMPILER": "/usr/bin/g++"
27+
}
28+
},
29+
{
30+
"name": "gcc-relwithdebinfo",
31+
"inherits": "base",
32+
"description": "GCC with RelWithDebInfo and sanitizers",
33+
"cacheVariables": {
34+
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
35+
"ENABLE_ASAN": "ON",
36+
"ENABLE_UBSAN": "ON",
37+
"CMAKE_C_COMPILER": "/usr/bin/gcc",
38+
"CMAKE_CXX_COMPILER": "/usr/bin/g++"
39+
}
40+
},
41+
{
42+
"name": "clang-release",
43+
"inherits": "base",
44+
"description": "Build using Clang in Release mode",
45+
"cacheVariables": {
46+
"CMAKE_BUILD_TYPE": "Release",
47+
"CMAKE_C_COMPILER": "/usr/bin/clang",
48+
"CMAKE_CXX_COMPILER": "/usr/bin/clang++"
49+
}
50+
},
51+
{
52+
"name": "clang-relwithdebinfo",
53+
"inherits": "base",
54+
"description": "Clang with RelWithDebInfo and sanitizers",
55+
"cacheVariables": {
56+
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
57+
"ENABLE_ASAN": "ON",
58+
"ENABLE_UBSAN": "ON",
59+
"CMAKE_C_COMPILER": "/usr/bin/clang",
60+
"CMAKE_CXX_COMPILER": "/usr/bin/clang++"
61+
}
62+
}
63+
],
64+
"buildPresets": [
65+
{
66+
"name": "gcc-release",
67+
"configurePreset": "gcc-release"
68+
},
69+
{
70+
"name": "gcc-relwithdebinfo",
71+
"configurePreset": "gcc-relwithdebinfo"
72+
},
73+
{
74+
"name": "clang-release",
75+
"configurePreset": "clang-release"
76+
},
77+
{
78+
"name": "clang-relwithdebinfo",
79+
"configurePreset": "clang-relwithdebinfo"
80+
}
81+
]
82+
}

0 commit comments

Comments
 (0)