-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathCMakeLists.txt
94 lines (77 loc) · 3.54 KB
/
CMakeLists.txt
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
cmake_minimum_required(VERSION 3.15)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_COMPILER ${MPICXX})
set(MPI_CXX_INCLUDE_PATH "")
set(MPI_CXX_LIBRARIES "")
# add_definitions(-DHYPERBOLIC)
add_definitions(-DUSE_FILTER)
add_definitions(-DPARABOLIC)
# # Add AddressSanitizer flags
# set(SANITIZER_FLAGS "-fsanitize=address -g -O1")
# # Apply sanitizer flags to compile and link phases
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SANITIZER_FLAGS}")
# set(CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS} ${SANITIZER_FLAGS}")
project(Prandtl)
add_executable(${PROJECT_NAME} main.cpp)
target_sources(${PROJECT_NAME}
PRIVATE src/Operators/DGOperator.cpp
PRIVATE src/Operators/DGSEMOperator.cpp
PRIVATE src/Operators/DGFormIntegrator.cpp
PRIVATE src/Operators/DGSEMIntegrator.cpp
PRIVATE src/RiemannSolvers/RoeFlux.cpp
PRIVATE src/RiemannSolvers/LaxFriedrichsFlux.cpp
PRIVATE src/RiemannSolvers/HLLFlux.cpp
PRIVATE src/RiemannSolvers/ChandrashekarFlux.cpp
PRIVATE src/BasicOperations/BasicOperations.cpp
PRIVATE src/Filters/EntropyFilter.cpp
PRIVATE src/BoundaryConditions/BdrFaceIntegrator.cpp
PRIVATE src/BoundaryConditions/NoSlipAdiabWallBdrFaceIntegrator.cpp
PRIVATE src/BoundaryConditions/NoSlipIsothWallBdrFaceIntegrator.cpp
PRIVATE src/BoundaryConditions/SpecifiedStateBdrFaceIntegrator.cpp
PRIVATE src/BoundaryConditions/SlipWallBdrFaceIntegrator.cpp
PRIVATE src/BoundaryConditions/RiemannInvariantBdrFaceIntegrator.cpp
PRIVATE src/BoundaryConditions/SubsonicInflowPtTtAngBdrFaceIntegrator.cpp
PRIVATE src/BoundaryConditions/SubsonicInflowRVBdrFaceIntegrator.cpp
PRIVATE src/BoundaryConditions/SubsonicOutflowPBdrFaceIntegrator.cpp
PRIVATE src/BoundaryConditions/SupersonicInflowBdrFaceIntegrator.cpp
PRIVATE src/BoundaryConditions/SupersonicOutflowBdrFaceIntegrator.cpp
PRIVATE src/Fluxes/NavierStokesFlux.cpp
PRIVATE src/ModalBasis/ModalBasis.cpp
PRIVATE src/ODESolvers/DGODESolver.cpp
PRIVATE src/ODESolvers/RK3SSPExplicitSolver.cpp
PRIVATE src/Limiters/MinmodLimiter.cpp
PRIVATE src/Indicators/Indicator.cpp
PRIVATE src/Indicators/PerssonPeraireIndicator.cpp
PRIVATE src/Simulation/Simulation.cpp
PRIVATE src/NonlinearForm/DGSEMNonlinearForm.cpp
)
# add_subdirectory(${CMAKE_SOURCE_DIR}/libs/mfem-4.7)
# add_subdirectory(${CMAKE_SOURCE_DIR}/libs/hypre-2.31.0/src)
# add_subdirectory(${CMAKE_SOURCE_DIR}/libs/metis-5.1.0)
target_include_directories(${PROJECT_NAME}
PUBLIC ${CMAKE_SOURCE_DIR}/libs/mfem
PUBLIC ${CMAKE_SOURCE_DIR}/libs/hypre/src/hypre/include
PUBLIC ${CMAKE_SOURCE_DIR}/libs/metis-5.1.0/include
PUBLIC ${CMAKE_SOURCE_DIR}/src/Operators
PUBLIC ${CMAKE_SOURCE_DIR}/src/RiemannSolvers
PUBLIC ${CMAKE_SOURCE_DIR}/src/BasicOperations
PUBLIC ${CMAKE_SOURCE_DIR}/src/Filters
PUBLIC ${CMAKE_SOURCE_DIR}/src/BoundaryConditions
PUBLIC ${CMAKE_SOURCE_DIR}/src/ModalBasis
PUBLIC ${CMAKE_SOURCE_DIR}/src/Physics
PUBLIC ${CMAKE_SOURCE_DIR}/src/ODESolvers
PUBLIC ${CMAKE_SOURCE_DIR}/src/Limiters
PUBLIC ${CMAKE_SOURCE_DIR}/src/Indicators
PUBLIC ${CMAKE_SOURCE_DIR}/src/Simulation
PUBLIC ${CMAKE_SOURCE_DIR}/src/Include
PUBLIC ${CMAKE_SOURCE_DIR}/src/Fluxes
PUBLIC ${CMAKE_SOURCE_DIR}/src/NonlinearForm
)
target_link_directories(${PROJECT_NAME}
PUBLIC ${CMAKE_SOURCE_DIR}/libs/mfem
PUBLIC ${CMAKE_SOURCE_DIR}/libs/hypre/src/lib
PUBLIC ${CMAKE_SOURCE_DIR}/libs/metis-5.1.0/lib
)
target_link_libraries(${PROJECT_NAME} mfem HYPRE metis)