-
Notifications
You must be signed in to change notification settings - Fork 9
/
CMakeLists.txt
83 lines (79 loc) · 3.64 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
set(Adamantine_HEADERS
${CMAKE_CURRENT_SOURCE_DIR}/BeamHeatSourceProperties.hh
${CMAKE_CURRENT_SOURCE_DIR}/BodyForce.hh
${CMAKE_CURRENT_SOURCE_DIR}/CubeHeatSource.hh
${CMAKE_CURRENT_SOURCE_DIR}/DataAssimilator.hh
${CMAKE_CURRENT_SOURCE_DIR}/ElectronBeamHeatSource.hh
${CMAKE_CURRENT_SOURCE_DIR}/ExperimentalData.hh
${CMAKE_CURRENT_SOURCE_DIR}/Geometry.hh
${CMAKE_CURRENT_SOURCE_DIR}/GoldakHeatSource.hh
${CMAKE_CURRENT_SOURCE_DIR}/HeatSource.hh
${CMAKE_CURRENT_SOURCE_DIR}/ImplicitOperator.hh
${CMAKE_CURRENT_SOURCE_DIR}/MaterialProperty.hh
${CMAKE_CURRENT_SOURCE_DIR}/MaterialProperty.templates.hh
${CMAKE_CURRENT_SOURCE_DIR}/MaterialStates.hh
${CMAKE_CURRENT_SOURCE_DIR}/MechanicalOperator.hh
${CMAKE_CURRENT_SOURCE_DIR}/MechanicalPhysics.hh
${CMAKE_CURRENT_SOURCE_DIR}/NewtonSolver.hh
${CMAKE_CURRENT_SOURCE_DIR}/Operator.hh
${CMAKE_CURRENT_SOURCE_DIR}/PointCloud.hh
${CMAKE_CURRENT_SOURCE_DIR}/PostProcessor.hh
${CMAKE_CURRENT_SOURCE_DIR}/RayTracing.hh
${CMAKE_CURRENT_SOURCE_DIR}/ScanPath.hh
${CMAKE_CURRENT_SOURCE_DIR}/ThermalOperatorBase.hh
${CMAKE_CURRENT_SOURCE_DIR}/ThermalOperator.hh
${CMAKE_CURRENT_SOURCE_DIR}/ThermalOperatorDevice.hh
${CMAKE_CURRENT_SOURCE_DIR}/ThermalPhysicsInterface.hh
${CMAKE_CURRENT_SOURCE_DIR}/ThermalPhysics.hh
${CMAKE_CURRENT_SOURCE_DIR}/ThermalPhysics.templates.hh
${CMAKE_CURRENT_SOURCE_DIR}/Timer.hh
${CMAKE_CURRENT_SOURCE_DIR}/ensemble_management.hh
${CMAKE_CURRENT_SOURCE_DIR}/experimental_data_utils.hh
${CMAKE_CURRENT_SOURCE_DIR}/material_deposition.hh
${CMAKE_CURRENT_SOURCE_DIR}/utils.hh
${CMAKE_CURRENT_SOURCE_DIR}/types.hh
${CMAKE_CURRENT_SOURCE_DIR}/validate_input_database.hh
)
set(Adamantine_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/BodyForce.cc
${CMAKE_CURRENT_SOURCE_DIR}/CubeHeatSource.cc
${CMAKE_CURRENT_SOURCE_DIR}/DataAssimilator.cc
${CMAKE_CURRENT_SOURCE_DIR}/ElectronBeamHeatSource.cc
${CMAKE_CURRENT_SOURCE_DIR}/Geometry.cc
${CMAKE_CURRENT_SOURCE_DIR}/GoldakHeatSource.cc
${CMAKE_CURRENT_SOURCE_DIR}/ImplicitOperator.cc
${CMAKE_CURRENT_SOURCE_DIR}/MaterialProperty.cc
${CMAKE_CURRENT_SOURCE_DIR}/MechanicalOperator.cc
${CMAKE_CURRENT_SOURCE_DIR}/MechanicalPhysics.cc
${CMAKE_CURRENT_SOURCE_DIR}/NewtonSolver.cc
${CMAKE_CURRENT_SOURCE_DIR}/PointCloud.cc
${CMAKE_CURRENT_SOURCE_DIR}/PostProcessor.cc
${CMAKE_CURRENT_SOURCE_DIR}/RayTracing.cc
${CMAKE_CURRENT_SOURCE_DIR}/ScanPath.cc
${CMAKE_CURRENT_SOURCE_DIR}/ThermalOperator.cc
${CMAKE_CURRENT_SOURCE_DIR}/ThermalOperatorDevice.cc
${CMAKE_CURRENT_SOURCE_DIR}/ThermalPhysics.cc
${CMAKE_CURRENT_SOURCE_DIR}/Timer.cc
${CMAKE_CURRENT_SOURCE_DIR}/ensemble_management.cc
${CMAKE_CURRENT_SOURCE_DIR}/experimental_data_utils.cc
${CMAKE_CURRENT_SOURCE_DIR}/material_deposition.cc
${CMAKE_CURRENT_SOURCE_DIR}/validate_input_database.cc
)
# Because the Adamantine library is just used to simplify testing, we make it
# static. Thus, once the application is created it can be moved around. The
# other libraries can still be shared.
add_library(Adamantine STATIC ${Adamantine_SOURCES})
DEAL_II_SETUP_TARGET(Adamantine)
set_target_properties(Adamantine PROPERTIES
CXX_STANDARD 17
CXX_STANDARD_REQUIRED ON
CXX_EXTENSIONS OFF
)
target_link_libraries(Adamantine Boost::boost)
target_link_libraries(Adamantine Boost::chrono)
target_link_libraries(Adamantine Boost::program_options)
target_link_libraries(Adamantine MPI::MPI_CXX)
target_include_directories(Adamantine PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
if (ADAMANTINE_ENABLE_CALIPER)
target_link_libraries(Adamantine caliper)
endif()