-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathCMakePresets.json
More file actions
90 lines (90 loc) · 3.38 KB
/
CMakePresets.json
File metadata and controls
90 lines (90 loc) · 3.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
{
"version": 2,
"configurePresets": [
{
"name": "default",
"displayName": "Default Configuration",
"description": "Default configuration for building the library",
"binaryDir": "${sourceDir}/build/default",
"generator": "Ninja",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"BUILD_TESTING": "OFF",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
"CMAKE_CXX_EXTENSIONS": "OFF",
"CPM_SOURCE_CACHE": "${sourceDir}/.cache/cpm"
}
},
{
"name": "test",
"displayName": "Test Configuration",
"description": "Configuration for building and running tests",
"binaryDir": "${sourceDir}/build/test",
"generator": "Ninja",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"BUILD_TESTING": "ON",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
"CMAKE_CXX_EXTENSIONS": "OFF",
"CPM_SOURCE_CACHE": "${sourceDir}/.cache/cpm"
}
},
{
"name": "docs",
"displayName": "Documentation Configuration",
"description": "Configuration for building documentation",
"binaryDir": "${sourceDir}/build/docs",
"generator": "Ninja",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"BUILD_TESTING": "OFF",
"BUILD_DOCS": "ON",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
"CMAKE_CXX_EXTENSIONS": "OFF",
"CPM_SOURCE_CACHE": "${sourceDir}/.cache/cpm"
}
},
{
"name": "clang-tidy",
"displayName": "Clang-Tidy Configuration",
"description": "Configuration for running clang-tidy static analysis",
"binaryDir": "${sourceDir}/build/clang-tidy",
"generator": "Ninja",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"BUILD_TESTING": "ON",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
"CMAKE_CXX_EXTENSIONS": "OFF",
"CMAKE_CXX_CLANG_TIDY": "clang-tidy",
"CPM_SOURCE_CACHE": "${sourceDir}/.cache/cpm"
}
},
{
"name": "init",
"displayName": "Initialize Templates",
"description": "Force regeneration of template files (CMakePresets.json, CI, etc.)",
"binaryDir": "${sourceDir}/build/init",
"generator": "Ninja",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"BUILD_TESTING": "OFF",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
"CMAKE_CXX_EXTENSIONS": "OFF",
"CPP_LIBRARY_FORCE_INIT": "ON",
"CPM_SOURCE_CACHE": "${sourceDir}/.cache/cpm"
}
}
],
"buildPresets": [
{ "name": "default", "displayName": "Default Build", "configurePreset": "default" },
{ "name": "test", "displayName": "Build Tests", "configurePreset": "test" },
{ "name": "docs", "displayName": "Build Docs", "configurePreset": "docs", "targets": "docs" },
{ "name": "clang-tidy", "displayName": "Build with Clang-Tidy", "configurePreset": "clang-tidy" },
{ "name": "init", "displayName": "Initialize Templates", "configurePreset": "init" }
],
"testPresets": [
{ "name": "test", "displayName": "Run All Tests", "configurePreset": "test", "output": { "outputOnFailure": true } },
{ "name": "clang-tidy", "displayName": "Run Tests with Clang-Tidy", "configurePreset": "clang-tidy", "output": { "outputOnFailure": true } },
{ "name": "init", "displayName": "Initialize Templates", "configurePreset": "init", "output": { "outputOnFailure": true } }
]
}