Skip to content

Commit fa62419

Browse files
committed
[cmake] add presets
1 parent 0801af5 commit fa62419

File tree

1 file changed

+134
-0
lines changed

1 file changed

+134
-0
lines changed

CMakePresets.json

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
{
2+
"version": 3,
3+
"cmakeMinimumRequired": {
4+
"major": 3,
5+
"minor": 19,
6+
"patch": 0
7+
},
8+
"configurePresets": [
9+
{
10+
"name": "default",
11+
"description": "default preset that disable vcpkg, so that the dependencies are not built automatically",
12+
"hidden": true,
13+
"binaryDir": "${sourceDir}/build/${presetName}",
14+
"cacheVariables": {
15+
"CMAKE_TOOLCHAIN_FILE": {
16+
"type": "FILEPATH",
17+
"value": ""
18+
}
19+
}
20+
},
21+
{
22+
"name": "debug",
23+
"description": "Debug build",
24+
"inherits": "default",
25+
"binaryDir": "${sourceDir}/build/debug",
26+
"cacheVariables": {
27+
"CMAKE_BUILD_TYPE": "Debug"
28+
}
29+
},
30+
{
31+
"name": "release",
32+
"description": "Release build",
33+
"inherits": "default",
34+
"binaryDir": "${sourceDir}/build/release",
35+
"cacheVariables": {
36+
"CMAKE_BUILD_TYPE": "Release"
37+
}
38+
},
39+
{
40+
"name": "vcpkg-default",
41+
"hidden": true,
42+
"binaryDir": "${sourceDir}/build/${presetName}",
43+
"cacheVariables": {
44+
"CMAKE_TOOLCHAIN_FILE": {
45+
"type": "FILEPATH",
46+
"value": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
47+
},
48+
"VCPKG_INSTALLED_DIR": {
49+
"type": "PATH",
50+
"value": "${sourceDir}/vcpkg_installed"
51+
}
52+
}
53+
},
54+
{
55+
"name": "vcpkg-release",
56+
"inherits": "vcpkg-default",
57+
"displayName": "Release Build",
58+
"description": "Release build configuration with vcpkg",
59+
"cacheVariables": {
60+
"CMAKE_BUILD_TYPE": "Release"
61+
}
62+
},
63+
{
64+
"name": "vcpkg-debug",
65+
"inherits": "vcpkg-default",
66+
"displayName": "Debug Build",
67+
"description": "Debug build configuration with vcpkg",
68+
"cacheVariables": {
69+
"CMAKE_BUILD_TYPE": "Debug"
70+
}
71+
}
72+
],
73+
"buildPresets": [
74+
{
75+
"name": "release",
76+
"configurePreset": "release",
77+
"description": "Build in Release mode"
78+
},
79+
{
80+
"name": "debug",
81+
"configurePreset": "debug",
82+
"description": "Build in Debug mode"
83+
},
84+
{
85+
"name": "vcpkg-release",
86+
"configurePreset": "vcpkg-release",
87+
"displayName": "Release Build",
88+
"description": "Build in Release mode with vcpkg",
89+
"configuration": "Release"
90+
},
91+
{
92+
"name": "vcpkg-debug",
93+
"configurePreset": "vcpkg-debug",
94+
"displayName": "Debug Build",
95+
"description": "Build in Debug mode with vcpkg",
96+
"configuration": "Debug"
97+
}
98+
],
99+
"testPresets": [
100+
{
101+
"name": "test-default",
102+
"description": "default test",
103+
"hidden": true,
104+
"output": {"outputOnFailure": true},
105+
"execution": {"noTestsAction": "error", "stopOnFailure": true}
106+
},
107+
{
108+
"name": "release",
109+
"description": "Test in Release mode",
110+
"configurePreset": "release",
111+
"inherits": "test-default"
112+
},
113+
{
114+
"name": "debug",
115+
"description": "Test in Debug mode",
116+
"configurePreset": "debug",
117+
"inherits": "test-default"
118+
},
119+
{
120+
"name": "vcpkg-release",
121+
"description": "Test in Release mode with vcpkg",
122+
"configurePreset": "vcpkg-release",
123+
"configuration": "Release",
124+
"inherits": "test-default"
125+
},
126+
{
127+
"name": "vcpkg-debug",
128+
"description": "Test in Debug mode with vcpkg",
129+
"configurePreset": "vcpkg-debug",
130+
"configuration": "Debug",
131+
"inherits": "test-default"
132+
}
133+
]
134+
}

0 commit comments

Comments
 (0)