-
Notifications
You must be signed in to change notification settings - Fork 0
/
ycm_extra_conf.py
440 lines (416 loc) · 30.2 KB
/
ycm_extra_conf.py
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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
import os
import ycm_core
from pathlib import Path
home = str(Path.home())
workdir = home + '/workdir'
pnetcdf_root = "/projects/sems/install/rhel8-x86_64/sems/tpl/parallel-netcdf/1.12.1/gcc/10.1.0/openmpi/4.0.5/f2e2w5d/"
WARN_FLAGS = [
'-Wall',
'-Wextra',
'-Wshadow',
'--pedantic',
]
BASE_FLAGS = [
'-x',
'c++',
'-fopenmp',
'-ferror-limit=10000',
'-std=c++17',
'-isystem',home + '/.vim/bundle/YouCompleteMe/third_party/ycmd/third_party/clang/lib/clang/10.0.0/include',
'-isystem','/projects/sems/install/rhel8-x86_64/sems/tpl/openmpi/4.0.5/gcc/10.1.0/base/kgkvzdx/include',
'-isystem',home + '/.vim',
'-isystem','/projects/sems/install/rhel8-x86_64/sems-compilers/tpl/gcc/10.1.0/clang/11.0.0/base/x6hpom6/lib/gcc/x86_64-pc-linux-gnu/10.1.0/include', # for omp.h
]
E3SM_FLAGS = [
'-DHAVE_CONFIG_H',
'-I' + workdir + '/e3sm/e3sm-src/$bld/components/homme/src/',
'-I' + workdir + '/e3sm/e3sm-src/$bld/components/homme/src/share/',
'-I' + workdir + '/e3sm/e3sm-src/$bld/components/homme/src/share/cxx',
'-I' + workdir + '/e3sm/e3sm-src/$bld/components/homme/src/share/cxx/mpi',
'-I' + workdir + '/e3sm/e3sm-src/$bld/components/homme/src/share/cxx/utilities',
'-I' + workdir + '/e3sm/e3sm-src/$bld/components/homme/src/share/cxx/vector',
'-I' + workdir + '/e3sm/e3sm-src/$bld/components/homme/src/theta-l_kokkos/cxx',
'-I' + workdir + '/e3sm/e3sm-src/$bld/components/homme/src/preqx_kokkos/cxx',
'-I' + workdir + '/e3sm/e3sm-src/$bld/components/homme/test/unit_tests/catch2/include',
'-I' + workdir + '/e3sm/e3sm-build/gcc/opt/$bld/',
'-I' + workdir + '/e3sm/e3sm-src/$bld/cime/src/share/timing',
'-DPLEV=72',
'-DNP=4',
'-DQSIZE_D=4',
'-isystem', workdir + '/e3sm/e3sm-src/$bld/externals/kokkos/core/src',
'-isystem', workdir + '/e3sm/e3sm-src/$bld/externals/kokkos/core/src/OpenMP',
'-isystem', workdir + '/e3sm/e3sm-src/$bld/externals/kokkos/core/src/impl',
'-isystem', workdir + '/e3sm/e3sm-src/$bld/externals/kokkos/core/src/HIP',
'-isystem', workdir + '/e3sm/e3sm-src/$bld/externals/kokkos/core/src/Cuda',
'-isystem', workdir + '/e3sm/e3sm-src/$bld/externals/kokkos/core/src/Threads',
'-isystem', workdir + '/e3sm/e3sm-src/$bld/externals/kokkos/algorithms/src/',
'-isystem', workdir + '/e3sm/e3sm-src/$bld/externals/kokkos/containers/src/',
'-isystem', workdir + '/e3sm/e3sm-build/homme/gcc/debug/$bld-pack-8/kokkos/build/',
]
SCREAM_EKAT_FLAGS = [
'-I' + workdir + '/scream/scream-src/$bld/externals/ekat/extern/Catch2/single_include/',
'-I' + workdir + '/scream/scream-src/$bld/externals/ekat/src/',
'-isystem',home + '/scripts/scream-ycm-includes/externals/ekat/src/',
'-isystem',home + '/scripts/scream-ycm-includes/externals/kokkos/',
'-isystem',workdir + '/scream/scream-src/$bld/externals/ekat/extern/kokkos/core/src/',
'-isystem',workdir + '/scream/scream-src/$bld/externals/ekat/extern/kokkos/core/src/impl',
'-isystem',workdir + '/scream/scream-src/$bld/externals/ekat/extern/kokkos/core/src/OpenMP',
'-isystem',workdir + '/scream/scream-src/$bld/externals/ekat/extern/kokkos/core/src/Serial',
'-isystem',workdir + '/scream/scream-src/$bld/externals/ekat/extern/kokkos/algorithms/src',
'-isystem',workdir + '/scream/scream-src/$bld/externals/ekat/extern/kokkos/containers/src/',
'-isystem',workdir + '/scream/scream-src/$bld/externals/ekat/extern/kokkos/tpls/desul/include/',
'-isystem',workdir + '/scream/scream-src/$bld/externals/ekat/extern/spdlog/include/',
]
EKAT_FLAGS = [
'-DEKAT_TEST_DOUBLE_PRECISION',
'-I' + workdir + '/libs/ekat/ekat-build/gcc/$bld/debug/src',
'-I' + workdir + '/libs/ekat/ekat-build/gcc/$bld/debug/tests',
'-I' + workdir + '/libs/ekat/ekat-src/$bld/src/',
'-isystem',workdir + '/libs/ekat/ekat-src/$bld/extern/Catch2/single_include/',
'-isystem',workdir + '/libs/ekat/ekat-build/gcc/$bld/debug/externals/kokkos',
'-isystem',workdir + '/libs/ekat/ekat-src/$bld/extern/kokkos/algorithms/src',
'-isystem',workdir + '/libs/ekat/ekat-src/$bld/extern/kokkos/containers/src',
'-isystem',workdir + '/libs/ekat/ekat-src/$bld/extern/kokkos/core/src',
'-isystem',workdir + '/libs/ekat/ekat-src/$bld/extern/kokkos/core/src/Cuda/',
'-isystem',workdir + '/libs/ekat/ekat-src/$bld/extern/kokkos/core/src/OpenMP/',
'-isystem',workdir + '/libs/ekat/ekat-src/$bld/extern/kokkos/core/src/Serial/',
'-isystem',workdir + '/libs/ekat/ekat-src/$bld/extern/yaml-cpp/include/',
'-isystem',workdir + '/libs/ekat/ekat-src/$bld/extern/spdlog/include',
]
SCREAM_FLAGS = [
'-DHAVE_CONFIG_H',
'-DHOMMEXX_CONFIG_IS_CMAKE',
'-DSCREAM_CONFIG_IS_CMAKE',
'-I' + home + '/scripts/scream-ycm-includes/src/',
'-I' + workdir + '/scream/scream-src/$bld/components/eamxx/src/',
'-I' + workdir + '/scream/scream-src/$bld/components/eamxx/src/control/',
'-I' + workdir + '/scream/scream-src/$bld/components/eamxx/src/share/',
'-I' + workdir + '/scream/scream-src/$bld/components/eamxx/src/share/field',
'-I' + workdir + '/scream/scream-src/$bld/components/eamxx/src/share/util/',
'-I' + workdir + '/scream/scream-src/$bld/components/eamxx/src/physics/p3/',
'-I' + workdir + '/scream/scream-src/$bld/components/eamxx/src/physics/rrtmgp/',
'-I' + workdir + '/scream/scream-src/$bld/components/eamxx/src/physics/shoc/',
'-I' + workdir + '/scream/scream-src/$bld/components/homme/src/share/cxx',
'-I' + workdir + '/scream/scream-src/$bld/components/homme/src/share/cxx/mpi',
'-I' + workdir + '/scream/scream-src/$bld/components/homme/src/share/cxx/utilities',
'-I' + workdir + '/scream/scream-src/$bld/components/homme/src/share/cxx/vector',
'-I' + workdir + '/scream/scream-src/$bld/components/homme/src/theta-l_kokkos/cxx',
'-I' + home + '/scripts/scream-ycm-includes/src',
'-I' + home + '/scripts/scream-ycm-includes/src/dynamics/homme/homme/src/share/cxx',
'-I' + home + '/scripts/scream-ycm-includes/src/dynamics/homme/tests',
'-isystem',workdir + '/scream/scream-src/$bld/components/eam/src/physics/rrtmgp/external/',
'-isystem',workdir + '/scream/scream-src/$bld/components/eam/src/physics/rrtmgp/external/cpp/rrtmgp',
'-isystem',workdir + '/scream/scream-src/$bld/components/eam/src/physics/rrtmgp/external/cpp/rrtmgp/kernels/',
'-isystem',workdir + '/scream/scream-src/$bld/components/eam/src/physics/rrtmgp/external/cpp/rte/',
'-isystem',workdir + '/scream/scream-src/$bld/components/eam/src/physics/rrtmgp/external/cpp/rte/kernels',
'-isystem',workdir + '/scream/scream-src/$bld/components/eam/src/physics/rrtmgp/external/cpp/',
'-isystem',workdir + '/scream/scream-src/$bld/externals/',
'-isystem',workdir + '/scream/scream-src/$bld/externals/scorpio/src/clib/',
'-isystem',workdir + '/scream/scream-src/$bld/externals/scorpio/src/gptl',
'-isystem',workdir + '/scream/scream-src/$bld/externals/YAKL',
]
CLDERA_FLAGS = [
'-I' + workdir + '/cldera/cldera-src/$bld/src/',
'-I' + workdir + '/cldera/cldera-src/$bld/src/profiling',
'-I' + workdir + '/cldera/cldera-src/$bld/src/profiling/stats',
'-I' + workdir + '/cldera/cldera-src/$bld/src/io',
'-I' + workdir + '/cldera/cldera-build/gcc/debug/$bld/src',
'-isystem',workdir + '/cldera/cldera-build/gcc/$bld/debug/externals/kokkos/',
'-isystem',workdir + '/cldera/cldera-build/gcc/$bld/debug/externals/ekat/src/',
'-isystem',workdir + '/cldera/cldera-src/$bld/externals/ekat/src/',
'-isystem',workdir + '/cldera/cldera-src/$bld/externals/ekat/extern/kokkos/core/src/',
'-isystem',workdir + '/cldera/cldera-src/$bld/externals/ekat/extern/kokkos/core/src/impl',
'-isystem',workdir + '/cldera/cldera-src/$bld/externals/ekat/extern/kokkos/core/src/OpenMP',
'-isystem',workdir + '/cldera/cldera-src/$bld/externals/ekat/extern/kokkos/core/src/Serial',
'-isystem',workdir + '/cldera/cldera-src/$bld/externals/ekat/extern/kokkos/algorithms/src',
'-isystem',workdir + '/cldera/cldera-src/$bld/externals/ekat/extern/kokkos/containers/src/',
'-isystem',workdir + '/cldera/cldera-src/$bld/externals/ekat/extern/spdlog/include/',
'-isystem',workdir + '/cldera/cldera-src/$bld/externals/ekat/extern/Catch2/single_include/',
'-isystem',pnetcdf_root + '/include',
]
HOMME_FLAGS = [
'-DHAVE_CONFIG_H',
'-I' + workdir + '/hommexx/hommexx-src/components/homme/src/',
'-I' + workdir + '/hommexx/hommexx-src/components/homme/src/share/cxx/',
'-I' + workdir + '/hommexx/hommexx-src/components/homme/src/share/cxx/mpi',
'-I' + workdir + '/hommexx/hommexx-src/components/homme/src/share/cxx/vector',
'-I' + workdir + '/hommexx/hommexx-src/components/homme/test/unit_tests/',
'-I' + workdir + '/hommexx/hommexx-build-debug/src/',
'-I' + workdir + '/hommexx/hommexx-build-debug/test_execs/preqx_flat_ut/',
'-I' + workdir + '/hommexx/hommexx-build-debug/test_execs/prtcA_flat/',
'-I' + workdir + '/hommexx/hommexx-build-debug/test_execs/prtcA_flat_c/',
]
KOKKOS_FLAGS = [
'-I' + workdir + '/kokkos/kokkos-src/core/src',
'-I' + workdir + '/kokkos/kokkos-src/core/src/Cuda',
'-I' + workdir + '/kokkos/kokkos-src/core/src/OpenMP',
'-I' + workdir + '/kokkos/kokkos-src/core/src/Qthread',
'-I' + workdir + '/kokkos/kokkos-src/core/src/Threads',
'-I' + workdir + '/kokkos/kokkos-src/core/src/impl',
'-I' + workdir + '/kokkos/kokkos-src/containers/src',
'-I' + workdir + '/kokkos/kokkos-src/containers/src/impl',
'-I' + workdir + '/kokkos/kokkos-src/algorithms/src',
]
IBECS_FLAGS = [
'-I' + workdir + '/ibecs/ibecs-src/src/',
'-I' + workdir + '/ibecs/ibecs-build-debug/src',
]
ALBANY_FLAGS = [
'-I' + workdir + '/albany/albany-src/$bld/src',
'-I' + workdir + '/albany/albany-src/$bld/src/corePDEs/evaluators',
'-I' + workdir + '/albany/albany-src/$bld/src/corePDEs/problems',
'-I' + workdir + '/albany/albany-src/$bld/src/demoPDEs/evaluators',
'-I' + workdir + '/albany/albany-src/$bld/src/demoPDEs/problems',
'-I' + workdir + '/albany/albany-src/$bld/src/disc',
'-I' + workdir + '/albany/albany-src/$bld/src/disc/stk',
'-I' + workdir + '/albany/albany-src/$bld/src/disc/stk/percept',
'-I' + workdir + '/albany/albany-src/$bld/src/disc/stk/percept/stk_rebalance',
'-I' + workdir + '/albany/albany-src/$bld/src/disc/stk/percept/stk_rebalance_utils',
'-I' + workdir + '/albany/albany-src/$bld/src/evaluators/bc',
'-I' + workdir + '/albany/albany-src/$bld/src/evaluators/gather',
'-I' + workdir + '/albany/albany-src/$bld/src/evaluators/interpolation',
'-I' + workdir + '/albany/albany-src/$bld/src/evaluators/pde',
'-I' + workdir + '/albany/albany-src/$bld/src/evaluators/response',
'-I' + workdir + '/albany/albany-src/$bld/src/evaluators/scatter',
'-I' + workdir + '/albany/albany-src/$bld/src/evaluators/state',
'-I' + workdir + '/albany/albany-src/$bld/src/evaluators/utility',
'-I' + workdir + '/albany/albany-src/$bld/src/problems',
'-I' + workdir + '/albany/albany-src/$bld/src/responses',
'-I' + workdir + '/albany/albany-src/$bld/src/utility',
'-I' + workdir + '/albany/albany-src/$bld/src/utility/math',
'-I' + workdir + '/albany/albany-src/$bld/src/adapt',
'-I' + workdir + '/albany/albany-src/$bld/src/LandIce',
'-I' + workdir + '/albany/albany-src/$bld/src/LandIce/evaluators',
'-I' + workdir + '/albany/albany-src/$bld/src/LandIce/evaluators/hydrology',
'-I' + workdir + '/albany/albany-src/$bld/src/LandIce/problems',
'-I' + workdir + '/albany/albany-src/$bld/src/LandIce/interface_with_cism',
'-I' + workdir + '/albany/albany-src/$bld/src/LandIce/interface_with_mpas',
'-I' + workdir + '/albany/albany-src/$bld/src/responses',
'-I' + workdir + '/albany/albany-src/$bld/src/utility',
'-I' + workdir + '/albany/albany-src/$bld/tests/unit',
'-I' + workdir + '/albany/albany-build/gcc/$bld/debug/src',
]
TRILINOS_FLAGS = [
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/aztecoo/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/belos/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/epetra/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/epetraext/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/epetraext/src/inout',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/epetraext/src/model_evaluator',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/epetraext/src/transform',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/ifpack2/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/intrepid2/core/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/intrepid2/core/src/Cell',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/intrepid2/core/src/Discretization',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/intrepid2/core/src/Kokkos',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/intrepid2/core/src/Orientation',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/intrepid2/core/src/luca',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/kokkos/core/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/kokkos/containers/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/kokkos/algorithms/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/ml/src/Coarsen',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/ml/src/Comm',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/ml/src/FEGrid',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/ml/src/Include',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/ml/src/Krylov',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/ml/src/LevelWrap',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/ml/src/MLAPI',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/ml/src/Main',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/ml/src/MatrixFree',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/ml/src/Operator',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/ml/src/RefMaxwell',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/ml/src/Smoother',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/ml/src/Utils',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/muelu/src/Graph',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/muelu/src/Headers',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/muelu/src/Interface',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/muelu/src/Misc',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/muelu/src/MueCentral',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/muelu/src/Rebalancing',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/muelu/src/Smoothers',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/muelu/src/Transfers',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/muelu/src/Utils',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/nox/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/nox/src-loca/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/nox/src-loca/src-epetra',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/nox/src-loca/src-lapack',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/nox/src-loca/src-mf',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/nox/src-belos',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/nox/src-petsc',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/nox/src-thyra',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/nox/src-epetra',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/nox/src-lapack',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/phalanx/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/piro/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/rythmos/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/rol/src/algorithm',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/rol/src/elementwise',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/rol/src/function',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/rol/src/sol',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/rol/src/status',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/rol/src/step',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/rol/src/utils',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/rol/src/vector',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/rol/src/zoo',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/sacado/Fad/Fad',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/sacado/Fad/TinyFad',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/sacado/Fad/TinyFadET',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/sacado/Fad/utils',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/sacado/src/',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/sacado/src/mpl',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/sacado/src/parameter',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/sacado/src/template',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/shards/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/stk/stk_io/stk_io',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/stk/stk_mesh/',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/stk/stk_mesh/stk_mesh/base',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/stk/stk_mesh/stk_mesh/baseImpl',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/stk/stk_topology',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/stk/stk_topology/stk_topology',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/stk/stk_util',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/stk/stk_util/stk_util',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/teuchos/core/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/teuchos/comm/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/teuchos/parameterlist/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/teuchos/numerics/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/teuchos/kokkoscompat/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/core/src/interfaces/operator_vector/fundamental',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/core/src/interfaces/operator_vector/extended',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/core/src/interfaces/operator_solve/fundamental',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/core/src/interfaces/operator_solve/extended',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/core/src/interfaces/nonlinear/solvers/fundamental',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/core/src/interfaces/nonlinear/solvers/extended',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/core/src/interfaces/nonlinear/model_evaluator/fundamental',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/core/src/support/operator_vector/client_support',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/core/src/support/operator_vector/adapter_support',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/core/src/support/operator_solve/client_support',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/core/src/support/nonlinear/solvers/client_support',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/core/src/support/nonlinear/model_evaluator/client_support',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/adapters/epetra/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/adapters/epetraext/src/model_evaluator',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/adapters/epetraext/src/transformer',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/thyra/adapters/tpetra/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/tpetra/core/src',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/tpetra/core/inout',
'-I' + workdir + '/trilinos/trilinos-src/develop/packages/tpetra/core/ext',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/amesos/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/amesos2/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/anasazi/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/aztecoo/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/belos/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/epetra/src/'
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/epetraext/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/ifpack/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/ifpack2/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/intrepid/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/intrepid2/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/kokkos/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/kokkos-kernels/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/ml/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/muelu/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/minitensor/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/nox/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/piro/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/panzer/core/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/panzer/dof-mgr/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/phalanx/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/rol/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/rtop/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/sacado/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/seacas/libraries/exodus/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/seacas/libraries/ioss/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/shards/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/stratimikos/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/stk/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/stk/stk_util',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/teko/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/thyra/core/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/tempus/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/tpetra/core/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/tpetra/tsqr/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/teuchos/core/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/xpetra/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/zoltan/src/',
'-I' + workdir + '/trilinos/trilinos-build/gcc/debug/develop-serial/packages/zoltan2/src/',
'-Wno-deprecated-declarations',
]
TRILINOS_INCLUDE_FLAGS = [
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/Cuda',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/generated_specializations_hpp',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/gtest',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/impl',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/OpenMP',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/Qthreads',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/stk_expreval',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/stk_io',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/stk_math',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/stk_mesh',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/stk_ngp',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/stk_search',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/stk_simd',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/stk_simd_view',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/stk_tools',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/stk_topology',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/stk_transfer',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/stk_unit_test_utils',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/stk_utils',
'-isystem', workdir + '/trilinos/trilinos-install/groppello/gcc/debug/develop-serial/include/Threads',
'-isystem', workdir + '/libs/netcdf/netcdf-c/netcdf-c-install/include/',
'-isystem', workdir + '/libs/netcdf/pnetcdf/pnetcdf-install/include/',
]
MERDA = [
'-isystem', workdir + '/scream/scream-src',
]
def in_directory(file, directory, allow_symlink = False):
#make both absolute
directory = os.path.realpath(directory)
file = os.path.realpath(file)
#check whether file is a symbolic link, if yes, return false if they are not allowed
if not allow_symlink and os.path.islink(file):
return False
#return true, if the common prefix of both is equal to directory
#e.g. /a/b/c/d.rst and directory is /a/b, the common prefix is /a/b
return os.path.commonprefix([file, directory]) == directory
def is_master(file):
#make absolute
file = os.path.realpath(file)
#return true, if the file name contains 'master'
print ("file: {}".format(file))
print ("master: {}".format("master" in file))
return "master" in file
def Settings(**kwargs):
filename = kwargs[ 'filename' ]
final_flags = []
is_ekat = in_directory(filename,workdir + '/libs/ekat/ekat-src')
if is_ekat :
final_flags = final_flags + EKAT_FLAGS + WARN_FLAGS
is_cldera = in_directory(filename,workdir + '/cldera/cldera-src')
if is_cldera :
final_flags = final_flags + CLDERA_FLAGS + WARN_FLAGS
is_scream = in_directory(filename,workdir + '/scream/scream-src')
if is_scream :
final_flags = final_flags + SCREAM_FLAGS + SCREAM_EKAT_FLAGS + WARN_FLAGS
is_e3sm = in_directory(filename,workdir + '/e3sm/e3sm-src')
if is_e3sm :
final_flags = final_flags + E3SM_FLAGS + WARN_FLAGS
is_kokkos = in_directory(filename,workdir + '/kokkos/kokkos-src')
if is_kokkos :
final_flags = final_flags + KOKKOS_FLAGS
is_albany = in_directory(filename,workdir + '/albany/albany-src')
if is_albany:
final_flags = final_flags + ALBANY_FLAGS + TRILINOS_INCLUDE_FLAGS + WARN_FLAGS
is_ibecs = in_directory(filename,workdir + '/ibecs/ibecs-src')
if is_ibecs :
final_flags = final_flags + IBECS_FLAGS + TRILINOS_INCLUDE_FLAGS + WARN_FLAGS
is_trilinos = in_directory(filename,workdir + '/trilinos/trilinos-src')
if is_trilinos :
final_flags = final_flags + TRILINOS_FLAGS
if is_master(filename):
final_flags = [i.replace('$bld','master') for i in final_flags]
else:
final_flags = [i.replace('$bld','branch') for i in final_flags]
final_flags = final_flags + BASE_FLAGS + ['-I'+str(is_master(filename))];
return {
'flags' : final_flags,
}