Repository navigation
Expand file tree
/
Copy pathCMakePresets.json
More file actions
203 lines (203 loc) · 5.1 KB
/
Copy pathCMakePresets.json
File metadata and controls
203 lines (203 loc) · 5.1 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
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
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
{
"version": 6,
"cmakeMinimumRequired": {
"major": 3,
"minor": 30,
"patch": 0
},
"configurePresets": [
{
"name": "base",
"hidden": true,
"generator": "Ninja",
"binaryDir": "${sourceDir}/build/${presetName}",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"NN_BUILD_APPS": "ON",
"NN_ENABLE_NATIVE": "ON",
"NN_ENABLE_PCH": "ON",
"NN_ENABLE_TESTS": "OFF",
"NN_ENABLE_PROBES": "OFF",
"NN_ENABLE_GPU": "AUTO"
}
},
{
"name": "release",
"inherits": "base",
"displayName": "Release(本机最优)",
"description": "日常开发/跑应用:-O3 -funroll-loops -march=native + PCH + ccache。产物只保证能在本机同代 CPU 上跑(换机/分发用 portable)。对应 AGENTS『cmake -B build -G Ninja』。"
},
{
"name": "dev",
"inherits": "release",
"displayName": "Release + 测试",
"description": "本仓开发主用:在 release 基础上打开 NN_ENABLE_TESTS(build/ 下生成全部 *_test/gradcheck,并注册 ctest)。对应 AGENTS『-DNN_ENABLE_TESTS=ON && ctest』。",
"cacheVariables": {
"NN_ENABLE_TESTS": "ON"
}
},
{
"name": "debug",
"inherits": "dev",
"displayName": "Debug + 测试",
"description": "调试优先:-O0 -g(保留 PCH/ccache)。断点/单步用这个。",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "portable",
"inherits": "dev",
"displayName": "Release 可移植基线 + 测试",
"description": "分发/CI/换机用:NN_ENABLE_NATIVE=OFF(不带 -march=native),产物可在同架构的任意 CPU 上运行。发布构建用这个的口径。",
"cacheVariables": {
"NN_ENABLE_NATIVE": "OFF"
}
},
{
"name": "cpu",
"inherits": "dev",
"displayName": "纯 CPU + 测试",
"description": "NN_ENABLE_GPU=OFF:连 Vulkan/glslc 都不探测、不生成 shader、不编 scan_exprs —— 纯 CPU 的最短构建路径。改 CPU 引擎时用它省时间。",
"cacheVariables": {
"NN_ENABLE_GPU": "OFF"
}
},
{
"name": "probes",
"inherits": "dev",
"displayName": "Release + 测试 + 诊断探针",
"description": "打开 NN_ENABLE_PROBES(热路径扫描/归因代码 + mem_probe/f16_cpu_probe/gpu_stability_probe 目标)。⚠ 库头语义与正常构建不同,二进制/缓存不可混用。",
"cacheVariables": {
"NN_ENABLE_PROBES": "ON"
}
}
],
"buildPresets": [
{
"name": "release",
"configurePreset": "release",
"displayName": "构建 release"
},
{
"name": "dev",
"configurePreset": "dev",
"displayName": "构建 dev"
},
{
"name": "debug",
"configurePreset": "debug",
"displayName": "构建 debug"
},
{
"name": "portable",
"configurePreset": "portable",
"displayName": "构建 portable"
},
{
"name": "cpu",
"configurePreset": "cpu",
"displayName": "构建 cpu"
},
{
"name": "probes",
"configurePreset": "probes",
"displayName": "构建 probes"
}
],
"testPresets": [
{
"name": "dev",
"configurePreset": "dev",
"output": {
"outputOnFailure": true
},
"execution": {
"noTestsAction": "error"
},
"displayName": "ctest(dev)"
},
{
"name": "debug",
"configurePreset": "debug",
"output": {
"outputOnFailure": true
},
"execution": {
"noTestsAction": "error"
},
"displayName": "ctest(debug)"
},
{
"name": "portable",
"configurePreset": "portable",
"output": {
"outputOnFailure": true
},
"execution": {
"noTestsAction": "error"
},
"displayName": "ctest(portable)"
},
{
"name": "cpu",
"configurePreset": "cpu",
"output": {
"outputOnFailure": true
},
"execution": {
"noTestsAction": "error"
},
"displayName": "ctest(cpu)"
},
{
"name": "probes",
"configurePreset": "probes",
"output": {
"outputOnFailure": true
},
"execution": {
"noTestsAction": "error"
},
"displayName": "ctest(probes)"
}
],
"workflowPresets": [
{
"name": "dev",
"displayName": "配置 + 构建 + 测试(dev)",
"steps": [
{
"type": "configure",
"name": "dev"
},
{
"type": "build",
"name": "dev"
},
{
"type": "test",
"name": "dev"
}
]
},
{
"name": "portable",
"displayName": "配置 + 构建 + 测试(portable,发布前口径)",
"steps": [
{
"type": "configure",
"name": "portable"
},
{
"type": "build",
"name": "portable"
},
{
"type": "test",
"name": "portable"
}
]
}
]
}