forked from AMReX-Codes/amrex
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
344 lines (338 loc) · 10.1 KB
/
Copy pathCMakeLists.txt
File metadata and controls
344 lines (338 loc) · 10.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
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
foreach(D IN LISTS AMReX_SPACEDIM)
target_include_directories(amrex_${D}d PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>)
target_include_directories(amrex_${D}d PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}/Parser>)
target_sources(amrex_${D}d
PRIVATE
# Utility classes ---------------------------------------------------------
AMReX_ccse-mpi.H
AMReX_Math.H
AMReX_Algorithm.H
AMReX_Any.H
AMReX_Array.H
AMReX_BlockMutex.H
AMReX_BlockMutex.cpp
AMReX_Enum.H
AMReX_GpuComplex.H
AMReX_Order.H
AMReX_SmallMatrix.H
AMReX_ConstexprFor.H
AMReX_Vector.H
AMReX_TableData.H
AMReX_Tuple.H
AMReX_TypeList.H
AMReX.cpp
AMReX_error_fi.cpp
AMReX_Version.cpp
AMReX.H
AMReX_Demangle.H
AMReX_Exception.H
AMReX_Extension.H
AMReX_PODVector.H
AMReX_PODVector.cpp
AMReX_ParmParse.cpp
AMReX_parmparse_fi.cpp
AMReX_ParmParse.H
AMReX_Functional.H
AMReX_Stack.H
AMReX_String.H
AMReX_String.cpp
AMReX_Utility.H
AMReX_Utility.cpp
AMReX_FileSystem.H
AMReX_FileSystem.cpp
AMReX_ValLocPair.H
AMReX_Reduce.H
AMReX_Scan.H
AMReX_Partition.H
AMReX_Morton.H
AMReX_Random.H
AMReX_RandomEngine.H
AMReX_Random.cpp
AMReX_BLassert.H
AMReX_ArrayLim.H
AMReX_REAL.H
AMReX_INT.H
AMReX_CONSTANTS.H
AMReX_SPACE.H
AMReX_DistributionMapping.H
AMReX_DistributionMapping.cpp
AMReX_ParallelDescriptor.H
AMReX_ParallelDescriptor.cpp
AMReX_OpenMP.H
AMReX_OpenMP.cpp
AMReX_ParallelReduce.H
AMReX_GpuParallelReduce.H
AMReX_ForkJoin.H
AMReX_ForkJoin.cpp
AMReX_ParallelContext.H
AMReX_ParallelContext.cpp
AMReX_VisMFBuffer.H
AMReX_VisMF.H
AMReX_VisMF.cpp
AMReX_AsyncOut.H
AMReX_AsyncOut.cpp
AMReX_BackgroundThread.H
AMReX_BackgroundThread.cpp
AMReX_Arena.H
AMReX_Arena.cpp
AMReX_BArena.H
AMReX_BArena.cpp
AMReX_CArena.H
AMReX_CArena.cpp
AMReX_PArena.H
AMReX_PArena.cpp
AMReX_SArena.H
AMReX_SArena.cpp
AMReX_DataAllocator.H
AMReX_BLProfiler.H
AMReX_BLBackTrace.H
AMReX_BLBackTrace.cpp
AMReX_BLFort.H
AMReX_NFiles.H
AMReX_NFiles.cpp
AMReX_parstream.H
AMReX_parstream.cpp
AMReX_Concepts.H
# I/O stuff --------------------------------------------------------------
AMReX_ANSIEscCode.H
AMReX_FabConv.H
AMReX_FabConv.cpp
AMReX_FPC.H
AMReX_FPC.cpp
AMReX_VectorIO.H
AMReX_VectorIO.cpp
AMReX_Print.H
AMReX_IntConv.H
AMReX_IntConv.cpp
AMReX_IOFormat.H
# Index space -------------------------------------------------------------
AMReX_Box.H
AMReX_Box.cpp
AMReX_BoxIterator.H
AMReX_Dim3.H
AMReX_IntVect.H
AMReX_IndexType.H
AMReX_IndexType.cpp
AMReX_Loop.H
AMReX_Loop.nolint.H
AMReX_Orientation.H
AMReX_Orientation.cpp
AMReX_Periodicity.H
AMReX_Periodicity.cpp
# Real space --------------------------------------------------------------
AMReX_RealBox.H
AMReX_RealBox.cpp
AMReX_RealVect.H
# Unions of rectangle -----------------------------------------------------
AMReX_BoxList.H
AMReX_BoxList.cpp
AMReX_BoxArray.H
AMReX_BoxArray.cpp
AMReX_BoxDomain.H
AMReX_BoxDomain.cpp
# Fortran array data ------------------------------------------------------
AMReX_FArrayBox.H
AMReX_FArrayBox.cpp
AMReX_IArrayBox.H
AMReX_IArrayBox.cpp
AMReX_BaseFab.H
AMReX_BaseFab.cpp
AMReX_Array4.H
AMReX_MakeType.H
AMReX_TypeTraits.H
AMReX_FabDataType.H
AMReX_FabFactory.H
AMReX_BaseFabUtility.H
# Fortran data defined on unions of rectangles ----------------------------
AMReX_MultiFab.cpp
AMReX_MultiFab.H
AMReX_MFCopyDescriptor.cpp
AMReX_MFCopyDescriptor.H
AMReX_iMultiFab.cpp
AMReX_iMultiFab.H
AMReX_FabArrayBase.cpp
AMReX_FabArrayBase.H
AMReX_MFIter.cpp
AMReX_MFIter.H
AMReX_FabArray.H
AMReX_FACopyDescriptor.H
AMReX_FabArrayCommI.H
AMReX_FBI.H
AMReX_PCI.H
AMReX_FabArrayUtility.H
AMReX_LayoutData.H
# Geometry / Coordinate system routines -----------------------------------
AMReX_CoordSys.cpp
AMReX_CoordSys.H
AMReX_COORDSYS_${D}D_C.H
AMReX_COORDSYS_C.H
AMReX_Geometry.cpp
AMReX_Geometry.H
AMReX_MultiFabUtil.cpp
AMReX_MultiFabUtil.H
AMReX_MultiFabUtilI.H
AMReX_MultiFabUtil_${D}D_C.H
AMReX_MultiFabUtil_nd_C.H
AMReX_MultiFabUtil_C.H
# Boundary-related --------------------------------------------------------
AMReX_BCRec.cpp
AMReX_BCRec.H
AMReX_PhysBCFunct.cpp
AMReX_PhysBCFunct.H
AMReX_BCUtil.cpp
AMReX_BCUtil.H
AMReX_BC_TYPES.H
AMReX_FilCC_${D}D_C.H
AMReX_FilCC_C.H
AMReX_FilCC_C.cpp
AMReX_FilFC_${D}D_C.H
AMReX_FilFC_C.H
AMReX_FilFC_C.cpp
AMReX_FilND_C.H
AMReX_FilND_C.cpp
# Non-Local BC
AMReX_NonLocalBC.H
AMReX_NonLocalBC.cpp
AMReX_NonLocalBCImpl.H
# Plotfile ----------------------------------------------------------------
AMReX_PlotFileUtil.cpp
AMReX_PlotFileUtil.H
AMReX_PlotFileDataImpl.H
AMReX_PlotFileDataImpl.cpp
# Time Integration
AMReX_FEIntegrator.H
AMReX_IntegratorBase.H
AMReX_RKIntegrator.H
AMReX_TimeIntegrator.H
AMReX_RungeKutta.H
# GPU --------------------------------------------------------------------
AMReX_Gpu.H
AMReX_GpuQualifiers.H
AMReX_GpuKernelInfo.H
AMReX_GpuPrint.H
AMReX_GpuAssert.H
AMReX_GpuTypes.H
AMReX_GpuControl.H
AMReX_GpuControl.cpp
AMReX_GpuLaunch.H
AMReX_GpuLaunch.nolint.H
AMReX_GpuLaunchGlobal.H
AMReX_GpuLaunchMacrosG.H
AMReX_GpuLaunchMacrosG.nolint.H
AMReX_GpuLaunchMacrosC.H
AMReX_GpuLaunchMacrosC.nolint.H
AMReX_GpuLaunchFunctsG.H
AMReX_GpuLaunchFunctsC.H
AMReX_GpuLaunchFunctsSIMD.H
AMReX_GpuError.H
AMReX_GpuDevice.H
AMReX_GpuDevice.cpp
AMReX_GpuBuffer.H
AMReX_GpuAtomic.H
AMReX_GpuUtility.H
AMReX_GpuUtility.cpp
AMReX_GpuAsyncArray.H
AMReX_GpuAsyncArray.cpp
AMReX_GpuElixir.H
AMReX_GpuElixir.cpp
AMReX_GpuMemory.H
AMReX_GpuRange.H
AMReX_GpuReduce.H
AMReX_GpuAllocators.H
AMReX_GpuContainers.H
AMReX_TrackedVector.H
AMReX_MFParallelFor.H
AMReX_MFParallelForC.H
AMReX_MFParallelForG.H
AMReX_SIMD.H
AMReX_TagParallelFor.H
AMReX_CTOParallelForImpl.H
AMReX_ParReduce.H
# CUDA --------------------------------------------------------------------
AMReX_CudaGraph.H
# Machine model -----------------------------------------------------------
AMReX_Machine.H
AMReX_Machine.cpp
# Memory pool -------------------------------------------------------------
AMReX_MemPool.cpp
AMReX_MemPool.H
# Parser ---------------------------------------------------------------
Parser/AMReX_Parser.cpp
Parser/AMReX_Parser.H
Parser/AMReX_Parser_Exe.cpp
Parser/AMReX_Parser_Exe.H
Parser/AMReX_Parser_Y.cpp
Parser/AMReX_Parser_Y.H
Parser/amrex_parser.lex.cpp
Parser/amrex_parser.lex.nolint.H
Parser/amrex_parser.lex.h
Parser/amrex_parser.tab.cpp
Parser/amrex_parser.tab.nolint.H
Parser/amrex_parser.tab.h
Parser/AMReX_IParser.cpp
Parser/AMReX_IParser.H
Parser/AMReX_IParser_Exe.cpp
Parser/AMReX_IParser_Exe.H
Parser/AMReX_IParser_Y.cpp
Parser/AMReX_IParser_Y.H
Parser/amrex_iparser.lex.cpp
Parser/amrex_iparser.lex.nolint.H
Parser/amrex_iparser.lex.h
Parser/amrex_iparser.tab.cpp
Parser/amrex_iparser.tab.nolint.H
Parser/amrex_iparser.tab.h
# Dense linear algebra solver using LU decomposition
AMReX_LUSolver.H
# AMReX Hydro -----------------------------------------------------
AMReX_Slopes_K.H
# Forward declaration -----------------------------------------------------
AMReX_BaseFwd.H
)
# Profiling
# this source file has zero symbols in default conditions, which creates
# ranlib warnings, e.g., on macOS
if(AMReX_BASE_PROFILE OR AMReX_TINY_PROFILE OR AMReX_FORTRAN)
target_sources(amrex_${D}d
PRIVATE
AMReX_BLProfiler.cpp
)
endif()
# Fortran stuff
if (AMReX_FORTRAN)
target_sources(amrex_${D}d
PRIVATE
AMReX_filcc_f.H
AMReX_BLutil_F.F90
AMReX_BLProfiler_F.F90
AMReX_filcc_mod.F90
AMReX_omp_mod.F90
AMReX_acc_mod.F90
AMReX_fort_mod.F90
AMReX_constants_mod.f90
AMReX_error_mod.F90
AMReX_parmparse_mod.F90
AMReX_string_mod.F90
AMReX_bc_types_mod.F90
AMReX_ParallelDescriptor_F.F90
AMReX_io_mod.F90
AMReX_mempool_mod.F90
)
endif ()
# LAZY mode not supported in CMake yet
# ifeq ($(LAZY),TRUE)
# C$(AMREX_BASE)_sources += AMReX_Lazy.cpp
# C$(AMREX_BASE)_headers += AMReX_Lazy.H
# endif
# Memory Profiler
if (AMReX_MEM_PROFILE)
target_sources(amrex_${D}d PRIVATE AMReX_MemProfiler.cpp AMReX_MemProfiler.H )
endif ()
# Tiny Profiler
if (AMReX_TINY_PROFILE)
target_sources(amrex_${D}d PRIVATE AMReX_TinyProfiler.cpp AMReX_TinyProfiler.H )
endif ()
# MPMD
if (AMReX_MPI)
target_sources(amrex_${D}d PRIVATE AMReX_MPMD.cpp AMReX_MPMD.H )
endif ()
endforeach()