CMakeLists.txt 4.09 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
29

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)
set(Boost_NO_SYSTEM_PATHS ON)
find_package(Boost ${BOOST_VERSION} REQUIRED ${BOOST_LIBS_REQUIRED})
if (Boost_FOUND)
30
31
32
  add_library(boost INTERFACE)
  target_include_directories(boost INTERFACE ${Boost_INCLUDE_DIR})
  target_link_libraries(boost INTERFACE  ${Boost_LIBRARIES})
33
  target_link_libraries(duneamdis INTERFACE boost)
34
35
36
37
38

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


42
43
44
45
46
47
48
49
50
51
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 ()
52
53
54
  
  if (HAVE_UMFPACK OR ENABLE_SUITESPARSE OR SuiteSparse_FOUND)
      target_compile_definitions("duneamdis" PUBLIC MTL_HAS_UMFPACK)
55
  endif ()
56
57
58
endif (MTL_FOUND)


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