Skip to content

Commit 3baa1d6

Browse files
authored
Merge pull request #12 from pkestene/refactor/cmake
Mini cmake refactoring
2 parents 798b0ee + 9708f79 commit 3baa1d6

File tree

7 files changed

+95
-118
lines changed

7 files changed

+95
-118
lines changed

src/muscl/CMakeLists.txt

Lines changed: 24 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,31 @@
1-
add_library(muscl "")
1+
add_library(
2+
euler_kokkos_muscl
3+
hydro_shared.h
4+
HydroBaseFunctor2D.h
5+
HydroBaseFunctor3D.h
6+
HydroRunFunctors2D.h
7+
HydroRunFunctors3D.h
8+
HydroInitFunctors2D.h
9+
HydroInitFunctors3D.h
10+
MHDBaseFunctor2D.h
11+
MHDBaseFunctor3D.h
12+
MHDRunFunctors2D.h
13+
MHDRunFunctors3D.h
14+
MHDInitFunctors2D.h
15+
MHDInitFunctors3D.h
16+
SolverHydroMuscl.h
17+
SolverHydroMuscl.cpp
18+
SolverMHDMuscl.h
19+
SolverMHDMuscl.cpp)
220

3-
target_sources(
4-
muscl
5-
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/hydro_shared.h
6-
${CMAKE_CURRENT_SOURCE_DIR}/HydroBaseFunctor2D.h
7-
${CMAKE_CURRENT_SOURCE_DIR}/HydroBaseFunctor3D.h
8-
${CMAKE_CURRENT_SOURCE_DIR}/HydroRunFunctors2D.h
9-
${CMAKE_CURRENT_SOURCE_DIR}/HydroRunFunctors3D.h
10-
${CMAKE_CURRENT_SOURCE_DIR}/HydroInitFunctors2D.h
11-
${CMAKE_CURRENT_SOURCE_DIR}/HydroInitFunctors3D.h
12-
${CMAKE_CURRENT_SOURCE_DIR}/MHDBaseFunctor2D.h
13-
${CMAKE_CURRENT_SOURCE_DIR}/MHDBaseFunctor3D.h
14-
${CMAKE_CURRENT_SOURCE_DIR}/MHDRunFunctors2D.h
15-
${CMAKE_CURRENT_SOURCE_DIR}/MHDRunFunctors3D.h
16-
${CMAKE_CURRENT_SOURCE_DIR}/MHDInitFunctors2D.h
17-
${CMAKE_CURRENT_SOURCE_DIR}/MHDInitFunctors3D.h
18-
${CMAKE_CURRENT_SOURCE_DIR}/SolverHydroMuscl.h
19-
${CMAKE_CURRENT_SOURCE_DIR}/SolverHydroMuscl.cpp
20-
${CMAKE_CURRENT_SOURCE_DIR}/SolverMHDMuscl.h
21-
${CMAKE_CURRENT_SOURCE_DIR}/SolverMHDMuscl.cpp)
21+
target_include_directories(euler_kokkos_muscl PUBLIC ${CMAKE_SOURCE_DIR}/src
22+
${CMAKE_BINARY_DIR}/src)
2223

23-
target_include_directories(muscl PUBLIC ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/src)
24-
25-
target_link_libraries(muscl PUBLIC Kokkos::kokkos)
24+
target_link_libraries(euler_kokkos_muscl PUBLIC Kokkos::kokkos)
2625

2726
if(EULER_KOKKOS_USE_MPI)
28-
target_link_libraries(muscl PUBLIC EulerKokkos::mpiUtils)
27+
target_link_libraries(euler_kokkos_muscl PUBLIC EulerKokkos::mpiUtils)
2928
endif(EULER_KOKKOS_USE_MPI)
3029

3130
# Add an alias so that library can be used inside the build tree
32-
add_library(EulerKokkos::muscl ALIAS muscl)
31+
add_library(EulerKokkos::muscl ALIAS euler_kokkos_muscl)

src/shared/CMakeLists.txt

Lines changed: 46 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,65 @@
11
# ##############################################################################
22
# SHARED ############
33
# ##############################################################################
4-
add_library(shared "")
5-
target_sources(
6-
shared
7-
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/problems/BlastParams.h
8-
${CMAKE_CURRENT_SOURCE_DIR}/problems/BrioWuParams.h
9-
${CMAKE_CURRENT_SOURCE_DIR}/problems/FieldLoopParams.h
10-
${CMAKE_CURRENT_SOURCE_DIR}/problems/GreshoParams.h
11-
${CMAKE_CURRENT_SOURCE_DIR}/problems/ImplodeParams.h
12-
${CMAKE_CURRENT_SOURCE_DIR}/problems/IsentropicVortexParams.h
13-
${CMAKE_CURRENT_SOURCE_DIR}/problems/JetParams.h
14-
${CMAKE_CURRENT_SOURCE_DIR}/problems/KHParams.h
15-
${CMAKE_CURRENT_SOURCE_DIR}/problems/OrszagTangParams.h
16-
${CMAKE_CURRENT_SOURCE_DIR}/problems/RayleighTaylorInstabilityParams.h
17-
${CMAKE_CURRENT_SOURCE_DIR}/problems/RotorParams.h
18-
${CMAKE_CURRENT_SOURCE_DIR}/problems/WedgeParams.h
19-
${CMAKE_CURRENT_SOURCE_DIR}/problems/initRiemannConfig2d.h
20-
${CMAKE_CURRENT_SOURCE_DIR}/BoundariesFunctors.h
21-
${CMAKE_CURRENT_SOURCE_DIR}/BoundariesFunctorsWedge.h
22-
${CMAKE_CURRENT_SOURCE_DIR}/HydroParams.cpp
23-
${CMAKE_CURRENT_SOURCE_DIR}/HydroParams.h
24-
${CMAKE_CURRENT_SOURCE_DIR}/HydroState.h
25-
${CMAKE_CURRENT_SOURCE_DIR}/kokkos_shared.h
26-
${CMAKE_CURRENT_SOURCE_DIR}/euler_kokkos_build_info.h
27-
${CMAKE_CURRENT_SOURCE_DIR}/euler_kokkos_build_info.cpp
28-
${CMAKE_CURRENT_SOURCE_DIR}/euler_kokkos_git_info.h
29-
${CMAKE_CURRENT_SOURCE_DIR}/euler_kokkos_git_info.cpp
30-
${CMAKE_CURRENT_SOURCE_DIR}/real_type.h
31-
${CMAKE_CURRENT_SOURCE_DIR}/enums.h
32-
${CMAKE_CURRENT_SOURCE_DIR}/SolverBase.cpp
33-
${CMAKE_CURRENT_SOURCE_DIR}/SolverBase.h
34-
${CMAKE_CURRENT_SOURCE_DIR}/RiemannSolvers.h
35-
${CMAKE_CURRENT_SOURCE_DIR}/RiemannSolvers_MHD.h
36-
${CMAKE_CURRENT_SOURCE_DIR}/utils.cpp
37-
${CMAKE_CURRENT_SOURCE_DIR}/utils.h
38-
${CMAKE_CURRENT_SOURCE_DIR}/mhd_utils.h
39-
${CMAKE_CURRENT_SOURCE_DIR}/solver_utils.h)
4+
add_library(
5+
euler_kokkos_shared
6+
BoundariesFunctors.h
7+
BoundariesFunctorsWedge.h
8+
enums.h
9+
euler_kokkos_build_info.h
10+
euler_kokkos_build_info.cpp
11+
euler_kokkos_git_info.h
12+
euler_kokkos_git_info.cpp
13+
HydroParams.cpp
14+
HydroParams.h
15+
HydroState.h
16+
kokkos_shared.h
17+
mhd_utils.h
18+
problems/BlastParams.h
19+
problems/BrioWuParams.h
20+
problems/FieldLoopParams.h
21+
problems/GreshoParams.h
22+
problems/ImplodeParams.h
23+
problems/initRiemannConfig2d.h
24+
problems/IsentropicVortexParams.h
25+
problems/JetParams.h
26+
problems/KHParams.h
27+
problems/OrszagTangParams.h
28+
problems/RayleighTaylorInstabilityParams.h
29+
problems/RotorParams.h
30+
problems/WedgeParams.h
31+
real_type.h
32+
RiemannSolvers.h
33+
RiemannSolvers_MHD.h
34+
SolverBase.cpp
35+
SolverBase.h
36+
solver_utils.h
37+
utils.cpp
38+
utils.h)
4039

41-
target_include_directories(shared PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src>
42-
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>)
40+
target_include_directories(euler_kokkos_shared PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src>
41+
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>)
4342

44-
target_link_libraries(shared PUBLIC Kokkos::kokkos EulerKokkos::config EulerKokkos::io)
43+
target_link_libraries(euler_kokkos_shared PUBLIC Kokkos::kokkos EulerKokkos::config EulerKokkos::io)
4544
if(EULER_KOKKOS_USE_MPI)
46-
target_link_libraries(shared PUBLIC EulerKokkos::mpiUtils)
45+
target_link_libraries(euler_kokkos_shared PUBLIC EulerKokkos::mpiUtils)
4746
endif(EULER_KOKKOS_USE_MPI)
4847

4948
# Add an alias so that library can be used inside the build tree
50-
add_library(EulerKokkos::shared ALIAS shared)
49+
add_library(EulerKokkos::shared ALIAS euler_kokkos_shared)
5150

5251
# ##################################################################################################
5352
# SOLVER FACTORY ####
5453
# ##################################################################################################
55-
add_library(solver_factory "")
56-
target_sources(solver_factory PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/SolverFactory.cpp
57-
${CMAKE_CURRENT_SOURCE_DIR}/SolverFactory.h)
54+
add_library(euler_kokkos_solver_factory SolverFactory.cpp SolverFactory.h)
5855
target_include_directories(
59-
solver_factory PUBLIC ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/muscl
60-
${CMAKE_BINARY_DIR}/src)
56+
euler_kokkos_solver_factory PUBLIC ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/muscl
57+
${CMAKE_BINARY_DIR}/src)
6158

62-
target_link_libraries(solver_factory PUBLIC Kokkos::kokkos)
59+
target_link_libraries(euler_kokkos_solver_factory PUBLIC Kokkos::kokkos)
6360
if(EULER_KOKKOS_USE_MPI)
64-
target_link_libraries(solver_factory PUBLIC EulerKokkos::mpiUtils)
61+
target_link_libraries(euler_kokkos_solver_factory PUBLIC EulerKokkos::mpiUtils)
6562
endif(EULER_KOKKOS_USE_MPI)
6663

6764
# Add an alias so that library can be used inside the build tree
68-
add_library(EulerKokkos::solver_factory ALIAS solver_factory)
65+
add_library(EulerKokkos::solver_factory ALIAS euler_kokkos_solver_factory)

src/utils/config/CMakeLists.txt

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
1-
add_library(config "")
2-
3-
target_sources(
4-
config PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/ConfigMap.cpp ${CMAKE_CURRENT_SOURCE_DIR}/inih/ini.cpp
5-
${CMAKE_CURRENT_SOURCE_DIR}/inih/INIReader.cpp)
1+
add_library(euler_kokkos_config ConfigMap.cpp inih/ini.cpp inih/INIReader.cpp)
62

73
target_include_directories(
8-
config PUBLIC ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/src ${CMAKE_SOURCE_DIR}/src/utils
9-
${CMAKE_CURRENT_SOURCE_DIR}/inih)
4+
euler_kokkos_config PUBLIC ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR}/src
5+
${CMAKE_SOURCE_DIR}/src/utils ${CMAKE_CURRENT_SOURCE_DIR}/inih)
106

117
if(EULER_KOKKOS_USE_MPI)
12-
target_link_libraries(config PUBLIC MPI::MPI_CXX)
8+
target_link_libraries(euler_kokkos_config PUBLIC MPI::MPI_CXX)
139
endif(EULER_KOKKOS_USE_MPI)
1410

1511
# Add an alias so that library can be used inside the build tree
16-
add_library(EulerKokkos::config ALIAS config)
12+
add_library(EulerKokkos::config ALIAS euler_kokkos_config)

src/utils/io/CMakeLists.txt

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,30 @@
1-
add_library(io "")
2-
3-
target_sources(
4-
io PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/IO_common.cpp ${CMAKE_CURRENT_SOURCE_DIR}/IO_ReadWrite.cpp
5-
${CMAKE_CURRENT_SOURCE_DIR}/IO_VTK.cpp)
1+
add_library(euler_kokkos_io IO_common.cpp IO_ReadWrite.cpp IO_VTK.cpp)
62

73
if(EULER_KOKKOS_USE_HDF5)
8-
target_sources(io PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/IO_HDF5.cpp)
4+
target_sources(euler_kokkos_io PRIVATE IO_HDF5.cpp)
95
endif(EULER_KOKKOS_USE_HDF5)
106

117
if(EULER_KOKKOS_USE_MPI)
128
if(EULER_KOKKOS_USE_PNETCDF)
13-
target_sources(io PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/IO_PNETCDF.h)
9+
target_sources(euler_kokkos_io PUBLIC IO_PNETCDF.h)
1410
endif(EULER_KOKKOS_USE_PNETCDF)
1511
endif(EULER_KOKKOS_USE_MPI)
1612

17-
target_include_directories(io PUBLIC ${CMAKE_SOURCE_DIR}/src)
13+
target_include_directories(euler_kokkos_io PUBLIC ${CMAKE_SOURCE_DIR}/src)
1814

19-
target_link_libraries(io PUBLIC Kokkos::kokkos EulerKokkos::shared)
15+
target_link_libraries(euler_kokkos_io PUBLIC Kokkos::kokkos EulerKokkos::shared)
2016

2117
if(EULER_KOKKOS_USE_HDF5)
22-
target_link_libraries(io PUBLIC ${HDF5_LIBRARIES})
18+
target_link_libraries(euler_kokkos_io PUBLIC ${HDF5_LIBRARIES})
2319
endif(EULER_KOKKOS_USE_HDF5)
2420

2521
if(EULER_KOKKOS_USE_PNETCDF)
26-
target_link_libraries(io PUBLIC ${PNETCDF_LIBRARIES})
22+
target_link_libraries(euler_kokkos_io PUBLIC ${PNETCDF_LIBRARIES})
2723
endif(EULER_KOKKOS_USE_PNETCDF)
2824

2925
if(EULER_KOKKOS_USE_MPI)
30-
target_link_libraries(io PUBLIC MPI::MPI_CXX)
26+
target_link_libraries(euler_kokkos_io PUBLIC MPI::MPI_CXX)
3127
endif(EULER_KOKKOS_USE_MPI)
3228

3329
# Add an alias so that library can be used inside the build tree
34-
add_library(EulerKokkos::io ALIAS io)
30+
add_library(EulerKokkos::io ALIAS euler_kokkos_io)

src/utils/monitoring/CMakeLists.txt

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,15 @@
11
find_package(OpenMP)
22

3-
add_library(monitoring "")
4-
5-
target_sources(monitoring PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/OpenMPTimer.cpp
6-
${CMAKE_CURRENT_SOURCE_DIR}/SimpleTimer.cpp)
3+
add_library(euler_kokkos_monitoring OpenMPTimer.cpp SimpleTimer.cpp)
74

85
target_include_directories(
9-
monitoring
6+
euler_kokkos_monitoring
107
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
118
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/)
129

1310
if(OpenMP_CXX_FOUND)
14-
target_link_libraries(monitoring PUBLIC OpenMP::OpenMP_CXX)
11+
target_link_libraries(euler_kokkos_monitoring PUBLIC OpenMP::OpenMP_CXX)
1512
endif(OpenMP_CXX_FOUND)
1613

1714
# Add an alias so that library can be used inside the build tree
18-
add_library(EulerKokkos::monitoring ALIAS monitoring)
15+
add_library(EulerKokkos::monitoring ALIAS euler_kokkos_monitoring)

src/utils/mpi/CMakeLists.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,18 @@ if(EULER_KOKKOS_USE_MPI)
1212
MpiCommCart.cpp)
1313
endif(EULER_KOKKOS_USE_MPI)
1414

15-
add_library(mpiUtils ${MPI_UTILS_SRCS})
15+
add_library(euler_kokkos_mpiUtils ${MPI_UTILS_SRCS})
1616

1717
# Set target properties
1818
target_include_directories(
19-
mpiUtils
19+
euler_kokkos_mpiUtils
2020
PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src>
2121
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>)
2222

23-
target_link_libraries(mpiUtils PUBLIC Kokkos::kokkos)
23+
target_link_libraries(euler_kokkos_mpiUtils PUBLIC Kokkos::kokkos)
2424
if(EULER_KOKKOS_USE_MPI)
25-
target_link_libraries(mpiUtils PUBLIC MPI::MPI_CXX)
25+
target_link_libraries(euler_kokkos_mpiUtils PUBLIC MPI::MPI_CXX)
2626
endif(EULER_KOKKOS_USE_MPI)
2727

2828
# Add an alias so that library can be used inside the build tree
29-
add_library(EulerKokkos::mpiUtils ALIAS mpiUtils)
29+
add_library(EulerKokkos::mpiUtils ALIAS euler_kokkos_mpiUtils)

test/io/CMakeLists.txt

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ add_executable(test_io_vtk "")
88

99
target_sources(test_io_vtk PUBLIC test_io_vtk.cpp)
1010

11-
# target_include_directories(test_io_vtk PUBLIC ${CMAKE_SOURCE_DIR}/src
12-
# ${CMAKE_SOURCE_DIR}/src/utils/io ${CMAKE_SOURCE_DIR}/src/utils/mpiUtils )
1311
target_link_libraries(
1412
test_io_vtk PUBLIC Kokkos::kokkos EulerKokkos::shared EulerKokkos::config EulerKokkos::monitoring
1513
EulerKokkos::io EulerKokkos::mpiUtils)
@@ -18,8 +16,7 @@ target_link_libraries(
1816
# HDF5 test
1917
# ##################################################################################################
2018
if(EULER_KOKKOS_USE_HDF5)
21-
add_executable(test_io_hdf5 test_io_hdf5.cpp # ${BACKWARD_ENABLE}
22-
)
19+
add_executable(test_io_hdf5 test_io_hdf5.cpp)
2320

2421
target_link_libraries(
2522
test_io_hdf5
@@ -31,15 +28,12 @@ if(EULER_KOKKOS_USE_HDF5)
3128
EulerKokkos::mpiUtils
3229
${HDF5_LIBRARIES})
3330

34-
# add_backward(test_io_hdf5)
35-
3631
endif(EULER_KOKKOS_USE_HDF5)
3732

3833
if(EULER_KOKKOS_USE_MPI)
3934
if(EULER_KOKKOS_USE_PNETCDF)
4035

41-
add_executable(test_io_pnetcdf test_io_pnetcdf.cpp # ${BACKWARD_ENABLE}
42-
)
36+
add_executable(test_io_pnetcdf test_io_pnetcdf.cpp)
4337

4438
target_link_libraries(
4539
test_io_pnetcdf
@@ -51,7 +45,5 @@ if(EULER_KOKKOS_USE_MPI)
5145
EulerKokkos::mpiUtils
5246
${PNETCDF_LIBRARIES})
5347

54-
# add_backward(test_io_pnetcdf)
55-
5648
endif(EULER_KOKKOS_USE_PNETCDF)
5749
endif(EULER_KOKKOS_USE_MPI)

0 commit comments

Comments
 (0)