-
Notifications
You must be signed in to change notification settings - Fork 1
/
CMakePresets.json
150 lines (148 loc) · 4.21 KB
/
CMakePresets.json
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
{
"version": 3,
"cmakeMinimumRequired": {
"major": 3,
"minor": 25,
"patch": 0
},
"configurePresets": [
{
"name": "base",
"hidden": true,
"binaryDir": "${sourceDir}/build-${presetName}",
"cacheVariables": {
"CMAKE_CXX_FLAGS_DEBUG": "-ggdb3",
"CMAKE_CXX_FLAGS_RELEASE": "-O2 -DNDEBUG",
"CMAKE_CXX_FLAGS_RELWITHDEBINFO": "-ggdb3 -O2 -DNDEBUG",
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON"
}
},
{
"name": "clang",
"hidden": true,
"cacheVariables": {
"CMAKE_ASM_COMPILER": "clang",
"CMAKE_C_COMPILER": "clang",
"CMAKE_CXX_COMPILER": "clang++",
"VULL_COMPILER_FLAGS": "-fno-exceptions -fno-rtti -Weverything -Wno-c++20-compat -Wno-c++98-compat -Wno-c++98-compat-pedantic -Wno-cast-function-type-strict -Wno-covered-switch-default -Wno-disabled-macro-expansion -Wno-double-promotion -Wno-gnu-statement-expression -Wno-missing-field-initializers -Wno-missing-variable-declarations -Wno-non-virtual-dtor -Wno-padded -Wno-shadow-uncaptured-local -Wno-switch -Wno-switch-default -Wno-switch-enum -Wno-undefined-func-template -Wno-unsafe-buffer-usage -Wno-used-but-marked-unused -Wno-weak-vtables"
}
},
{
"name": "gcc",
"hidden": true,
"cacheVariables": {
"CMAKE_ASM_COMPILER": "gcc",
"CMAKE_C_COMPILER": "gcc",
"CMAKE_CXX_COMPILER": "g++",
"VULL_COMPILER_FLAGS": "-fno-exceptions -fno-rtti -Wall -Wextra -Wno-alloc-size-larger-than -Wno-class-memaccess -Wno-double-promotion -Wno-missing-field-initializers -Wno-non-virtual-dtor -Wno-switch -Wno-unknown-pragmas"
}
},
{
"name": "asan",
"hidden": true,
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_CXX_FLAGS": "-fsanitize=address,undefined"
}
},
{
"name": "debug",
"hidden": true,
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "release",
"hidden": true,
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_INTERPROCEDURAL_OPTIMIZATION": "ON"
}
},
{
"name": "asan-clang",
"inherits": ["base", "clang", "asan"],
"displayName": "ASan (clang)"
},
{
"name": "asan-gcc",
"inherits": ["base", "gcc", "asan"],
"displayName": "ASan (gcc)"
},
{
"name": "debug-clang",
"inherits": ["base", "clang", "debug"],
"displayName": "Debug (clang)"
},
{
"name": "debug-gcc",
"inherits": ["base", "gcc", "debug"],
"displayName": "Debug (gcc)"
},
{
"name": "release-clang",
"inherits": ["base", "clang", "release"],
"displayName": "Release (clang)"
},
{
"name": "release-gcc",
"inherits": ["base", "gcc", "release"],
"displayName": "Release (gcc)"
},
{
"name": "fuzz",
"inherits": "base",
"displayName": "Fuzz with AFLplusplus",
"cacheVariables": {
"CMAKE_AR": "llvm-ar",
"CMAKE_ASM_COMPILER": "afl-clang-lto",
"CMAKE_C_COMPILER": "afl-clang-lto",
"CMAKE_CXX_COMPILER": "afl-clang-lto++",
"CMAKE_RANLIB": "llvm-ranlib",
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_CXX_FLAGS": "-fsanitize=address,undefined -w",
"VULL_BUILD_VPAK": "OFF",
"VULL_BUILD_SANDBOX": "OFF",
"VULL_BUILD_TESTS": "OFF"
}
}
],
"buildPresets": [
{
"name": "asan-clang",
"displayName": "ASan (clang)",
"configurePreset": "asan-clang"
},
{
"name": "asan-gcc",
"displayName": "ASan (gcc)",
"configurePreset": "asan-gcc"
},
{
"name": "debug-clang",
"displayName": "Debug (clang)",
"configurePreset": "debug-clang"
},
{
"name": "debug-gcc",
"displayName": "Debug (gcc)",
"configurePreset": "debug-gcc"
},
{
"name": "release-clang",
"displayName": "Release (clang)",
"configurePreset": "release-clang"
},
{
"name": "release-gcc",
"displayName": "Release (gcc)",
"configurePreset": "release-gcc"
},
{
"name": "fuzz",
"displayName": "Fuzz with AFLplusplus",
"configurePreset": "fuzz"
}
]
}