CMakeLists.txt 4.26 KB
Newer Older
1
#install headers
2
3

dune_add_library("duneamdis" NO_EXPORT
4
    AdaptBase.cpp
5
    AdaptInfo.cpp
6
7
    AdaptInstationary.cpp
    AdaptStationary.cpp
8
9
    AMDiS.cpp
    Initfile.cpp
10
11
    ProblemInstatBase.cpp
    ProblemInstat.cpp
12
    ProblemStat.cpp
13
14
15
16
17
    StandardProblemIteration.cpp
    linear_algebra/istl/SystemMatrix.cpp
    linear_algebra/istl/SystemVector.cpp
    linear_algebra/mtl/SystemMatrix.cpp
    linear_algebra/mtl/SystemVector.cpp
18
    utility/Filesystem.cpp
19
20
    )
add_dune_alberta_flags("duneamdis" OBJECT USE_GENERIC)
21
target_compile_definitions("duneamdis" PUBLIC AMDIS_BACKEND_MTL=1)
22
target_compile_options("duneamdis" PUBLIC -ftemplate-backtrace-limit=0)
23
24
25
26
27
28
29
30

set(BOOST_VERSION "1.54")
set(BOOST_LIBS_REQUIRED system program_options)
if (NOT BUILD_SHARED_LIBS)
    set(Boost_USE_STATIC_LIBS ON)
endif (NOT BUILD_SHARED_LIBS)
find_package(Boost ${BOOST_VERSION} REQUIRED ${BOOST_LIBS_REQUIRED})
if (Boost_FOUND)
31
32
33
  add_library(boost INTERFACE)
  target_include_directories(boost INTERFACE ${Boost_INCLUDE_DIR})
  target_link_libraries(boost INTERFACE  ${Boost_LIBRARIES})
34
  target_link_libraries(duneamdis INTERFACE boost)
35
36
37
38
39

  if (MSVC_SHARED_LIBS)
    link_directories(${Boost_LIBRARY_DIRS})
    target_compile_definitions("duneamdis" INTERFACE ${Boost_LIB_DIAGNOSTIC_DEFINITIONS})
  endif (MSVC_SHARED_LIBS)
40
41
42
endif (Boost_FOUND)


Praetorius, Simon's avatar
Praetorius, Simon committed
43
44
45
find_package(MTL REQUIRED
             PATHS ${CMAKE_SOURCE_DIR}/install/MTL/share/mtl
                   /iwr/modules/mtl4/share/mtl)
46
47
48
49
50
51
52
53
54
if (MTL_FOUND)
  target_include_directories("duneamdis" PUBLIC ${MTL_INCLUDE_DIRS})
#   target_link_libraries("duneamdis" PUBLIC ${MTL_LIBRARIES})
#   target_compile_options("duneamdis" PUBLIC ${MTL_CXX_DEFINITIONS})

  set (CXX_ELEVEN_FEATURE_LIST "MOVE" "AUTO" "RANGEDFOR" "INITLIST" "STATICASSERT" "DEFAULTIMPL")
  foreach (feature ${CXX_ELEVEN_FEATURE_LIST})
      target_compile_definitions("duneamdis" PUBLIC MTL_WITH_${feature})
  endforeach ()
55

56
57
  if (HAVE_UMFPACK OR ENABLE_SUITESPARSE OR SuiteSparse_FOUND)
      target_compile_definitions("duneamdis" PUBLIC MTL_HAS_UMFPACK)
58
  endif ()
59
60
61
endif (MTL_FOUND)


62
install(FILES
63
    AdaptBase.hpp
64
    AdaptInfo.hpp
65
66
    AdaptInstationary.hpp
    AdaptStationary.hpp
67
    AMDiS.hpp
68
69
    CreatorInterface.hpp
    CreatorMap.hpp
70
71
    DirichletBC.hpp
    DirichletBC.inc.hpp
72
    FileWriter.hpp
73
74
    Flag.hpp
    Initfile.hpp
75
    LinearAlgebra.hpp
76
77
    Log.hpp
    Math.hpp
78
79
    Mesh.hpp
    OperatorEvaluation.hpp
80
81
    Operator.hpp
    Operator.inc.hpp
82
    OperatorTermBase.hpp
83
    OperatorTerm.hpp
84
85
86
87
    ProblemInstatBase.hpp
    ProblemInstat.hpp
    ProblemInstat.inc.hpp
    ProblemInterationInterface.hpp
88
    ProblemStatBase.hpp
89
90
    ProblemStat.hpp
    ProblemStat.inc.hpp
91
92
    ProblemTimeInterface.hpp
    StandardProblemIteration.hpp
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
    TermGenerator.hpp
    common/ConceptsBase.hpp
    common/ClonablePtr.hpp
    common/IndexSeq.hpp
    common/Literals.hpp
    common/Loops.hpp
    common/Mpl.hpp
    common/ScalarTypes.hpp
    common/Timer.hpp
    common/Traits.hpp
    common/TupleUtility.hpp
    common/Utility.hpp
    common/ValueCategory.hpp
    linear_algebra/LinearAlgebraBse.hpp
    linear_algebra/LinearSolverInterface.hpp
    linear_algebra/PreconditionerInterface.hpp
    linear_algebra/RunnerInterface.hpp
    linear_algebra/SolverInfo.hpp
111
112
    linear_algebra/istl/DOFMatrix.hpp
    linear_algebra/istl/DOFVector.hpp
113
114
115
    linear_algebra/istl/ISTL_Preconditioner.hpp
    linear_algebra/istl/ISTLRunner.hpp
    linear_algebra/istl/ISTL_Solver.hpp
116
117
118
119
    linear_algebra/istl/LinearSolver.hpp
    linear_algebra/istl/Preconditioner.hpp
    linear_algebra/istl/SystemMatrix.hpp
    linear_algebra/istl/SystemVector.hpp
120
121
122
123
124
    linear_algebra/mtl/BITL_Preconditioner.hpp
    linear_algebra/mtl/BITL_Solver.hpp
    linear_algebra/mtl/BlockMTLMatrix.hpp
    linear_algebra/mtl/BlockMTLVector.hpp
    linear_algebra/mtl/Copy.hpp
125
126
    linear_algebra/mtl/DOFMatrix.hpp
    linear_algebra/mtl/DOFVector.hpp
127
128
129
    linear_algebra/mtl/ITL_Preconditioner.hpp
    linear_algebra/mtl/ITL_Solver.hpp
    linear_algebra/mtl/KrylovRunner.hpp
130
    linear_algebra/mtl/LinearSolver.hpp
131
132
133
    linear_algebra/mtl/Mapper.hpp
    linear_algebra/mtl/MTLDenseVector.hpp
    linear_algebra/mtl/Preconditioner.hpp
134
135
    linear_algebra/mtl/SystemMatrix.hpp
    linear_algebra/mtl/SystemVector.hpp
136
    linear_algebra/mtl/UmfpackRunner.hpp
137
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/amdis)