-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
66 lines (42 loc) · 2.1 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
cmake_minimum_required(VERSION 3.16)
project(TETHYS_Hydrodynamic_Simulation)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/lib")
enable_testing()
include_directories(src/)
include_directories(src/includes)
find_package(HDF5 REQUIRED COMPONENTS CXX)
include_directories(${HDF5_INCLUDE_DIRS})
#find_package(GSL REQUIRED)
#link_libraries(GSL::gsl GSL::gslcblas)
#set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -O2")
set(CMAKE_CXX_FLAGS "-O2")
FIND_PACKAGE(OpenMP REQUIRED)
if(OPENMP_FOUND)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_C_FLAGS}")
endif()
add_executable(TETHYS_1D src/TETHYS_1D_Main_v262.cpp)
add_executable(TETHYS_2D src/TETHYS_2D_Main_v262.cpp)
add_executable(TETHYS_2D_CNP src/TETHYS_2D_Dirac_main.cpp)
add_executable(TETHYS_ELEC_2D src/TETHYS_2D_ElectronicAnalysis.cpp)
#add_executable(TETHYS_RADIATION_2D src/TETHYS_2D_Radiation.cpp)
file(GLOB SRC_LIB_FILES src/*Lib.cpp)
add_library(tethys_library STATIC ${SRC_LIB_FILES})
target_link_libraries(TETHYS_1D PUBLIC tethys_library)
target_link_libraries(TETHYS_2D PUBLIC tethys_library)
target_link_libraries(TETHYS_2D_CNP PUBLIC tethys_library)
target_link_libraries(TETHYS_ELEC_2D PUBLIC tethys_library)
#target_link_libraries(TETHYS_RADIATION_2D PUBLIC tethys_library)
target_include_directories(TETHYS_1D PRIVATE ${HDF5_INCLUDE_DIRS})
target_link_libraries(TETHYS_1D PRIVATE ${HDF5_CXX_LIBRARIES})
target_include_directories(TETHYS_2D PRIVATE ${HDF5_INCLUDE_DIRS})
target_link_libraries(TETHYS_2D PRIVATE ${HDF5_CXX_LIBRARIES})
target_include_directories(TETHYS_2D_CNP PRIVATE ${HDF5_INCLUDE_DIRS})
target_link_libraries(TETHYS_2D_CNP PRIVATE ${HDF5_CXX_LIBRARIES})
target_include_directories(TETHYS_ELEC_2D PRIVATE ${HDF5_INCLUDE_DIRS})
target_link_libraries(TETHYS_ELEC_2D PRIVATE ${HDF5_CXX_LIBRARIES})
add_test(test1D TETHYS_1D 23 11 0.8 0.04 0 0 0 1 1)
add_test(test2D TETHYS_2D 2DTESTparameters.ini)
set(H5_TEST_FILE "hdf5_2D_S=21.00vF=10.50vis=0.010odd=0.002l=0.001wc=0.00therm=0.00.h5")
add_test(testElec2D TETHYS_ELEC_2D ${H5_TEST_FILE})
add_test(test2DCNP TETHYS_2D_CNP 2DTESTCNPparameters.ini)