CMakeLists.txt 4.06 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
19
    )
add_dune_alberta_flags("duneamdis" OBJECT USE_GENERIC)
20
target_compile_definitions("duneamdis" PUBLIC AMDIS_BACKEND_MTL=1)
21
22
23
24
25
26
27
28

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)
29
30
31
  add_library(boost INTERFACE)
  target_include_directories(boost INTERFACE ${Boost_INCLUDE_DIR})
  target_link_libraries(boost INTERFACE  ${Boost_LIBRARIES})
32
  target_link_libraries(duneamdis INTERFACE boost)
33
34
35
36
37

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


41
42
43
44
45
46
47
48
49
50
find_package(MTL REQUIRED)
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 ()
51

52
53
  if (HAVE_UMFPACK OR ENABLE_SUITESPARSE OR SuiteSparse_FOUND)
      target_compile_definitions("duneamdis" PUBLIC MTL_HAS_UMFPACK)
54
  endif ()
55
56
57
endif (MTL_FOUND)


58
install(FILES
59
    AdaptBase.hpp
60
    AdaptInfo.hpp
61
62
    AdaptInstationary.hpp
    AdaptStationary.hpp
63
    AMDiS.hpp
64
65
    CreatorInterface.hpp
    CreatorMap.hpp
66
67
    DirichletBC.hpp
    DirichletBC.inc.hpp
68
    FileWriter.hpp
69
70
    Flag.hpp
    Initfile.hpp
71
    LinearAlgebra.hpp
72
73
    Log.hpp
    Math.hpp
74
75
    Mesh.hpp
    OperatorEvaluation.hpp
76
77
    Operator.hpp
    Operator.inc.hpp
78
    OperatorTermBase.hpp
79
    OperatorTerm.hpp
80
81
82
83
    ProblemInstatBase.hpp
    ProblemInstat.hpp
    ProblemInstat.inc.hpp
    ProblemInterationInterface.hpp
84
    ProblemStatBase.hpp
85
86
    ProblemStat.hpp
    ProblemStat.inc.hpp
87
88
    ProblemTimeInterface.hpp
    StandardProblemIteration.hpp
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
    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
107
108
    linear_algebra/istl/DOFMatrix.hpp
    linear_algebra/istl/DOFVector.hpp
109
110
111
    linear_algebra/istl/ISTL_Preconditioner.hpp
    linear_algebra/istl/ISTLRunner.hpp
    linear_algebra/istl/ISTL_Solver.hpp
112
113
114
115
    linear_algebra/istl/LinearSolver.hpp
    linear_algebra/istl/Preconditioner.hpp
    linear_algebra/istl/SystemMatrix.hpp
    linear_algebra/istl/SystemVector.hpp
116
117
118
119
120
    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
121
122
    linear_algebra/mtl/DOFMatrix.hpp
    linear_algebra/mtl/DOFVector.hpp
123
124
125
    linear_algebra/mtl/ITL_Preconditioner.hpp
    linear_algebra/mtl/ITL_Solver.hpp
    linear_algebra/mtl/KrylovRunner.hpp
126
    linear_algebra/mtl/LinearSolver.hpp
127
128
129
    linear_algebra/mtl/Mapper.hpp
    linear_algebra/mtl/MTLDenseVector.hpp
    linear_algebra/mtl/Preconditioner.hpp
130
131
    linear_algebra/mtl/SystemMatrix.hpp
    linear_algebra/mtl/SystemVector.hpp
132
    linear_algebra/mtl/UmfpackRunner.hpp
133
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/amdis)