Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
iwr
amdis
Commits
f4e5a9f1
Commit
f4e5a9f1
authored
Feb 05, 2019
by
Praetorius, Simon
Browse files
initial version of cmake redesign
parent
5bed991c
Changes
62
Hide whitespace changes
Inline
Side-by-side
AMDiS/CMakeLists.txt
View file @
f4e5a9f1
unset
(
ENV{LIBRARY_PATH}
)
set
(
CMAKE_LEGACY_CYGWIN_WIN32 0
)
cmake_minimum_required
(
VERSION 2.8.12 FATAL_ERROR
)
project
(
AMDiS
)
set
(
AMDiS_VERSION
"1.2.0"
)
cmake_minimum_required
(
VERSION 3.5 FATAL_ERROR
)
project
(
AMDiS
VERSION 1.2.1
LANGUAGES CXX
)
set
(
BASE_DIR
${
AMDiS_SOURCE_DIR
}
)
set
(
SOURCE_DIR
${
BASE_DIR
}
/src
)
if
(
${
CMAKE_VERSION
}
VERSION_LESS 3.12
)
cmake_policy
(
VERSION
${
CMAKE_MAJOR_VERSION
}
.
${
CMAKE_MINOR_VERSION
}
)
endif
()
set
(
CMAKE_MODULE_PATH
"
${
PROJECT_SOURCE_DIR
}
/cmake"
${
CMAKE_MODULE_PATH
}
)
if
(
NOT CMAKE_BUILD_TYPE
)
set
(
CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
...
...
@@ -13,6 +18,18 @@ if (NOT CMAKE_BUILD_TYPE)
FORCE
)
endif
()
# This will allow us to print a feature summary.
include
(
FeatureSummary
)
# Required to enable testing for link-time optimization.
#include(CheckIPOSupported)
# Define GNU standard installation directories CMAKE_INSTALL_xxx
include
(
GNUInstallDirs
)
# Allow options depending on each other
include
(
CMakeDependentOption
)
# ------------------------------------------------------------------------------
# some options to control the build process
...
...
@@ -23,7 +40,6 @@ option(ENABLE_EXTENSIONS "Use extensions for AMDiS" false)
option
(
ENABLE_HYPRE
"Use HYPRE AMG solver"
false
)
option
(
ENABLE_PNG
"Use png reader/writer"
false
)
include
(
CMakeDependentOption
)
# additional options for parallel_domain
# {
cmake_dependent_option
(
ENABLE_ZOLTAN
...
...
@@ -77,19 +93,10 @@ endif ()
# ------------------------------------------------------------------------------
if
(
${
CMAKE_VERSION
}
VERSION_LESS
"3.2"
)
# Fallback to classical CMakeLists file
include
(
${
AMDiS_SOURCE_DIR
}
/cmake/CMakeLists.txt
)
else
()
include
(
${
AMDiS_SOURCE_DIR
}
/cmake3/CMakeLists.txt
)
endif
()
# ------------------------------------------------------------------------------
add_subdirectory
(
cmake
)
add_subdirectory
(
lib
)
add_subdirectory
(
src
)
include
(
CMakePackageConfigHelpers
)
write_basic_package_version_file
(
${
AMDiS_BINARY_DIR
}
/AMDISConfigVersion.cmake
VERSION
${
AMDiS_VERSION
}
COMPATIBILITY SameMajorVersion
)
install
(
FILES
${
AMDiS_BINARY_DIR
}
/AMDISConfigVersion.cmake DESTINATION share/amdis/
)
if
(
TARGET AMDiS::AMDiS
)
feature_summary
(
WHAT ALL
)
endif
(
TARGET AMDiS::AMDiS
)
AMDiS/cmake/AMDIS.cmake.in
deleted
100644 → 0
View file @
5bed991c
set(AMDIS_NEED_CXX11 @ENABLE_CXX11@)
set(AMDIS_NEED_UMFPACK @ENABLE_UMFPACK@)
set(AMDIS_NEED_COMPRESSION @ENABLE_COMPRESSION@)
set(AMDIS_NEED_EXTENSIONS @ENABLE_EXTENSIONS@)
set(AMDIS_NEED_BASE_PROBLEMS @ENABLE_BASE_PROBLEMS@)
set(AMDIS_NEED_REINIT @ENABLE_REINIT@)
set(AMDIS_NEED_COMPOSITE_FEM @ENABLE_COMPOSITE_FEM@)
set(AMDIS_NEED_ZOLTAN @ENABLE_ZOLTAN@)
set(AMDIS_NEED_BDDCML @ENABLE_BDDCML@)
set(AMDIS_NEED_HYPRE @ENABLE_HYPRE@)
set(AMDIS_NEED_PNG @ENABLE_PNG@)
set(AMDIS_NEED_SEQ_PETSC @ENABLE_SEQ_PETSC@)
set(BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@)
set(CMAKE_BUILD_TYPE @CMAKE_BUILD_TYPE@)
set(AMDIS_COMPILEFLAGS "")
set(AMDIS_INCLUDE_DIRS "")
set(AMDIS_LIBRARIES "")
if (AMDIS_NEED_CXX11)
enable_cxx11(AMDIS_NEED_CXX11 AMDIS_COMPILEFLAGS)
if (NOT AMDIS_NEED_CXX11)
message(FATAL_ERROR "AMDiS was compiled with c++11 support, but the current compiler does not support this feature!")
endif (NOT AMDIS_NEED_CXX11)
list(APPEND AMDIS_COMPILEFLAGS "-DAMDIS_HAS_CXX11=1")
else ()
list(APPEND AMDIS_COMPILEFLAGS "-DAMDIS_HAS_CXX11=0")
endif (AMDIS_NEED_CXX11)
# try to detect the AMDiS include directory
# -------------------------------------------
find_file(_AMDIS_H AMDiS.h PATHS ${AMDIS_DIR}/../../include/amdis/)
if (_AMDIS_H)
get_filename_component(AMDIS_INCLUDE_DIR ${_AMDIS_H} PATH CACHE)
list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR})
else ()
message(ERROR "Could not detect the AMDiS include directory. Please set the variable AMDIS_INCLUDE_DIR to the directory containing the AMDiS headers.")
endif ()
unset(_AMDIS_H CACHE)
# MTL4 libraries
# --------------------
enable_mtl4(AMDIS_COMPILEFLAGS AMDIS_INCLUDE_DIRS AMDIS_LIBRARIES ON)
# AMDiS base libraries
# --------------------
find_library(_AMDIS_LIB amdis${POSTFIX} PATHS ${AMDIS_DIR}/../../lib/amdis/)
if (_AMDIS_LIB)
list(APPEND AMDIS_LIBRARIES optimized ${_AMDIS_LIB} debug ${_AMDIS_LIB}d)
else ()
message(ERROR "Could not detect the AMDiS${POSTFIX} library. Please set the variable _AMDIS_LIB to the AMDiS${POSTFIX} library.")
endif ()
unset(_AMDIS_LIB CACHE)
# Boost libraries
# ---------------
if (NOT BOOST_ROOT)
set(BOOST_ROOT @BOOST_ROOT@)
endif (NOT BOOST_ROOT)
if (NOT BOOST_LIBRARYDIR)
set(BOOST_LIBRARYDIR @BOOST_LIBRARYDIR@)
endif (NOT BOOST_LIBRARYDIR)
enable_boost(AMDIS_COMPILEFLAGS AMDIS_INCLUDE_DIRS AMDIS_LIBRARIES ON)
# umfpack library
# --------------------
if (AMDIS_NEED_UMFPACK)
set(AMDIS_SuiteSparse_DIR @SuiteSparse_DIR@)
set(AMDIS_UMFPACK_INCLUDE_DIR @UMFPACK_INCLUDE_DIRS@)
set(AMDIS_UMFPACK_LIB_DIR ${AMDIS_UMFPACK_INCLUDE_DIR}/../include)
enable_umfpack(AMDIS_COMPILEFLAGS AMDIS_INCLUDE_DIRS AMDIS_LIBRARIES ON)
endif (AMDIS_NEED_UMFPACK)
# amdis extensions
# ----------------
if (AMDIS_NEED_EXTENSIONS)
find_library(_EXTENSIONS_LIB amdisextensions${POSTFIX} PATHS ${AMDIS_DIR}/../../lib/amdis/)
if (_EXTENSIONS_LIB)
list(APPEND AMDIS_INCLUDE_DIRS
${AMDIS_INCLUDE_DIR}/extensions
${AMDIS_INCLUDE_DIR}/extensions/nanoflann
${AMDIS_INCLUDE_DIR}/extensions/pugixml
${AMDIS_INCLUDE_DIR}/extensions/time)
list(APPEND AMDIS_COMPILEFLAGS "-DHAVE_EXTENSIONS=1")
list(APPEND AMDIS_LIBRARIES optimized ${_EXTENSIONS_LIB} debug ${_EXTENSIONS_LIB}d)
if (AMDIS_NEED_BASE_PROBLEMS)
list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR}/extensions/base_problems)
endif (AMDIS_NEED_BASE_PROBLEMS)
else ()
message(FATAL_ERROR "Extensions library not found")
endif ()
unset(_EXTENSIONS_LIB CACHE)
endif (AMDIS_NEED_EXTENSIONS)
# reinit library
# --------------
if (AMDIS_NEED_REINIT)
find_library(_REINIT_LIB amdisreinit${POSTFIX} PATHS ${AMDIS_DIR}/../../lib/amdis/)
if (_REINIT_LIB)
list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR}/reinit)
list(APPEND AMDIS_LIBRARIES optimized ${_REINIT_LIB} debug ${_REINIT_LIB}d)
else ()
message(FATAL_ERROR "Reinit library not found")
endif ()
unset(_REINIT_LIB CACHE)
endif (AMDIS_NEED_REINIT)
# compositeFEM library
# --------------------
if (AMDIS_NEED_COMPOSITE_FEM)
find_library(_COMPOSITE_FEM_LIB amdiscompositefem${POSTFIX} PATHS ${AMDIS_DIR}/../../lib/amdis/)
if (_COMPOSITE_FEM_LIB)
list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR}/compositeFEM)
list(APPEND AMDIS_LIBRARIES optimized ${_COMPOSITE_FEM_LIB} debug ${_COMPOSITE_FEM_LIB}d)
else ()
message(FATAL_ERROR "CompositeFEM library not found")
endif ()
unset(_COMPOSITE_FEM_LIB CACHE)
endif (AMDIS_NEED_COMPOSITE_FEM)
# muparser library
# --------------------
find_library(_MUPARSER_LIB muparser PATHS ${AMDIS_DIR}/../../lib/amdis/)
if (_MUPARSER_LIB)
list(APPEND AMDIS_INCLUDE_DIRS ${AMDIS_INCLUDE_DIR}/muparser)
list(APPEND AMDIS_LIBRARIES ${_MUPARSER_LIB})
else ()
message(ERROR "MuParser library not found")
endif ()
unset(_MUPARSER_LIB CACHE)
# Additional libraries
# ==================================================================================================
if (AMDIS_HAS_PARALLEL_DOMAIN)
enable_mpi(AMDIS_COMPILEFLAGS AMDIS_INCLUDE_DIRS AMDIS_LIBRARIES ON)
enable_petsc(AMDIS_COMPILEFLAGS AMDIS_INCLUDE_DIRS AMDIS_LIBRARIES ON)
list(APPEND AMDIS_COMPILEFLAGS "-DHAVE_PARALLEL_DOMAIN_AMDIS=1")
endif (AMDIS_HAS_PARALLEL_DOMAIN)
# Zoltan library
# --------------
if (AMDIS_NEED_ZOLTAN)
enable_zoltan(AMDIS_COMPILEFLAGS AMDIS_INCLUDE_DIRS AMDIS_LIBRARIES ON)
endif ()
# BDDCML library
# --------------
if (AMDIS_NEED_BDDCML)
enable_bddcml(AMDIS_COMPILEFLAGS AMDIS_INCLUDE_DIRS AMDIS_LIBRARIES ON)
endif ()
# Hypre library
# --------------
if (AMDIS_NEED_HYPRE)
enable_hypre(AMDIS_COMPILEFLAGS AMDIS_INCLUDE_DIRS AMDIS_LIBRARIES ON)
endif ()
# PNG library
# --------------
if (AMDIS_NEED_PNG)
enable_png(AMDIS_COMPILEFLAGS AMDIS_INCLUDE_DIRS AMDIS_LIBRARIES ON)
endif ()
# Sequential PETSc library
# --------------
if (AMDIS_NEED_SEQ_PETSC AND NOT AMDIS_HAS_PARALLEL_DOMAIN)
enable_mpi(AMDIS_COMPILEFLAGS AMDIS_INCLUDE_DIRS AMDIS_LIBRARIES ON)
enable_petsc(AMDIS_COMPILEFLAGS AMDIS_INCLUDE_DIRS AMDIS_LIBRARIES ON)
list(APPEND COMPILEFLAGS "-DHAVE_SEQ_PETSC=1")
endif ()
AMDiS/cmake/AMDISConfig.cmake.in
deleted
100644 → 0
View file @
5bed991c
# This configuration file is shipped with the FEM-Toolbox AMDiS.
# It simplifies the configure of different amdis-versions.
#
# We set the following variables:
# AMDIS_INCLUDE_DIRS all include directories (mtl, umfpack, parmetis, metis, ...)
# AMDIS_LIBRARIES the needed libraries
# AMDiS_COMPILEFLAGS some compile flags for amdis
#
# Use this package in the following way:
#
# find_package(AMDiS REQUIRED [PARALLEL|SEQUENTIAL])
# add_executable(yourTarget <yourSources>)
# include_directories(${AMDIS_INCLUDE_DIRS})
# compile_definitions(${AMDIS_COMPILEFLAGS})
# target_link_libraries(yourTarget ${AMDIS_LIBRARIES})
#
# The default component for this package is SEQUENTIAL.
#
if (${CMAKE_VERSION} VERSION_LESS "2.8.10")
message(FATAL_ERROR "The Configuration file was created for CMake version >= 2.8.10")
endif ()
list(APPEND CMAKE_MODULE_PATH ${AMDIS_DIR})
set(IS_AMDISCONFIG true)
set(AMDIS_USE_FILE ${AMDIS_DIR}/AMDISUse.cmake)
# Include macros
include(enable_cxx11)
include(enable_mtl4)
include(enable_boost)
include(enable_umfpack)
include(enable_petsc)
include(enable_zoltan)
include(enable_bddcml)
include(enable_hypre)
include(enable_png)
# enable components
# -----------------
if (AMDIS_FIND_REQUIRED_PARALLEL AND AMDIS_FIND_REQUIRED_SEQUENTIAL)
message(WARNING "Choose either SEQUENTIAL or PARALLEL as component, not both! Falling back to the default SEQUENTIAL.")
set(AMDIS_FIND_REQUIRED_PARALLEL OFF)
endif ()
set(AMDIS_CONFIGURATION "")
# parallel of sequential version
if (AMDIS_FIND_REQUIRED_PARALLEL)
set(AMDIS_HAS_PARALLEL_DOMAIN ON)
set(POSTFIX "-p")
list(APPEND AMDIS_CONFIGURATION "PARALLEL")
else ()
set(AMDIS_HAS_PARALLEL_DOMAIN OFF)
set(POSTFIX "-s")
list(APPEND AMDIS_CONFIGURATION "SEQUENTIAL")
endif ()
if (MSVC)
add_definitions(-DNOMINMAX -D_CONSOLE -DSTRICT -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS)
endif (MSVC)
if (NOT EXISTS ${AMDIS_DIR}/AMDIS${POSTFIX}.cmake)
message(FATAL_ERROR "Configuration ${AMDIS_CONFIGURATION} can not be found in ${AMDIS_DIR}.")
endif ()
# include component configuration
include(AMDIS${POSTFIX})
AMDiS/cmake/AMDISUse.cmake
deleted
100644 → 0
View file @
5bed991c
# globally add compile options and include directories
add_definitions
(
${
AMDIS_COMPILEFLAGS
}
)
include_directories
(
${
AMDIS_INCLUDE_DIRS
}
)
AMDiS/cmake/AMDiSConfig.cmake.in
0 → 100644
View file @
f4e5a9f1
@PACKAGE_INIT@
get_filename_component(AMDiS_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
include(CMakeFindDependencyMacro)
set(CMAKE_MODULE_PATH "${AMDiS_CMAKE_DIR}" ${CMAKE_MODULE_PATH})
find_dependency(MTL REQUIRED)
if(NOT TARGET AMDiS::AMDiS)
include("${AMDiS_CMAKE_DIR}/AMDiSTargets.cmake")
endif()
check_required_components(AMDiS)
AMDiS/cmake/CMakeLists.txt
View file @
f4e5a9f1
cmake_minimum_required
(
VERSION 2.8.10 FATAL_ERROR
)
if
(
POLICY CMP0048
)
cmake_policy
(
SET CMP0048 OLD
)
endif
()
project
(
AMDiS
)
include
(
CMakePackageConfigHelpers
)
# set some policies
cmake_policy
(
SET CMP0017 OLD
)
if
(
POLICY CMP0042
)
cmake_policy
(
SET CMP0042 NEW
)
endif
()
if
(
POLICY CMP0054
)
cmake_policy
(
SET CMP0054 NEW
)
endif
()
# config and config-version files
set
(
INSTALL_CONFIG_DIR
${
CMAKE_INSTALL_LIBDIR
}
/amdis/cmake
)
list
(
APPEND CMAKE_MODULE_PATH
${
BASE_DIR
}
/cmake
)
# Include macros
include
(
enable_cxx11
)
include
(
enable_mtl4
)
include
(
enable_boost
)
include
(
enable_umfpack
)
include
(
enable_petsc
)
include
(
enable_zoltan
)
include
(
enable_bddcml
)
include
(
enable_hypre
)
include
(
enable_png
)
# ------------------------------------------------------------------------------
include_directories
(
${
SOURCE_DIR
}
)
set
(
AMDIS_INCLUDE_DIRS
""
)
set
(
COMPILEFLAGS
""
)
enable_cxx11
(
ENABLE_CXX11 COMPILEFLAGS
)
if
(
ENABLE_CXX11
)
list
(
APPEND COMPILEFLAGS
"-DAMDIS_HAS_CXX11=1"
)
else
()
list
(
APPEND COMPILEFLAGS
"-DAMDIS_HAS_CXX11=0"
)
endif
(
ENABLE_CXX11
)
enable_mtl4
(
COMPILEFLAGS AMDIS_INCLUDE_DIRS _
)
enable_boost
(
COMPILEFLAGS AMDIS_INCLUDE_DIRS _
)
if
(
ENABLE_UMFPACK
)
enable_umfpack
(
COMPILEFLAGS AMDIS_INCLUDE_DIRS _
)
endif
(
ENABLE_UMFPACK
)
if
(
ENABLE_PNG
)
enable_png
(
COMPILEFLAGS AMDIS_INCLUDE_DIRS _
)
endif
(
ENABLE_PNG
)
# ------------------------------------------------------------------------------
set
(
AMDIS_SRC
""
)
list
(
APPEND AMDIS_SRC
${
SOURCE_DIR
}
/AdaptBase.cc
${
SOURCE_DIR
}
/AdaptInfo.cc
${
SOURCE_DIR
}
/AdaptInstationary.cc
${
SOURCE_DIR
}
/AdaptStationary.cc
${
SOURCE_DIR
}
/AMDiS.cc
${
SOURCE_DIR
}
/Assembler.cc
${
SOURCE_DIR
}
/BasisFunction.cc
${
SOURCE_DIR
}
/Boundary.cc
${
SOURCE_DIR
}
/BoundaryManager.cc
${
SOURCE_DIR
}
/BoundaryObject.cc
${
SOURCE_DIR
}
/Bubble.cc
${
SOURCE_DIR
}
/Cholesky.cc
${
SOURCE_DIR
}
/CoarseningManager.cc
${
SOURCE_DIR
}
/CoarseningManager1d.cc
${
SOURCE_DIR
}
/CoarseningManager2d.cc
${
SOURCE_DIR
}
/CoarseningManager3d.cc
${
SOURCE_DIR
}
/ComponentTraverseInfo.cc
${
SOURCE_DIR
}
/CouplingIterationInterface.cc
${
SOURCE_DIR
}
/CreatorMap.cc
${
SOURCE_DIR
}
/DOFAdmin.cc
${
SOURCE_DIR
}
/DOFIndexed.cc
${
SOURCE_DIR
}
/DOFMatrix.cc
${
SOURCE_DIR
}
/DOFVector.cc
${
SOURCE_DIR
}
/DirichletBC.cc
${
SOURCE_DIR
}
/DualTraverse.cc
${
SOURCE_DIR
}
/ElInfo.cc
${
SOURCE_DIR
}
/ElInfo1d.cc
${
SOURCE_DIR
}
/ElInfo2d.cc
${
SOURCE_DIR
}
/ElInfo3d.cc
${
SOURCE_DIR
}
/ElInfoStack.cc
${
SOURCE_DIR
}
/Element.cc
${
SOURCE_DIR
}
/ElementData.cc
${
SOURCE_DIR
}
/ElementDofIterator.cc
${
SOURCE_DIR
}
/ElementRegion_ED.cc
${
SOURCE_DIR
}
/FiniteElemSpace.cc
${
SOURCE_DIR
}
/FirstOrderAssembler.cc
${
SOURCE_DIR
}
/FirstOrderTerm.cc
${
SOURCE_DIR
}
/FixVec.cc
${
SOURCE_DIR
}
/Global.cc
${
SOURCE_DIR
}
/Initfile.cc
${
SOURCE_DIR
}
/Lagrange.cc
${
SOURCE_DIR
}
/LeafData.cc
${
SOURCE_DIR
}
/Line.cc
${
SOURCE_DIR
}
/MacroElement.cc
${
SOURCE_DIR
}
/Marker.cc
${
SOURCE_DIR
}
/MatrixVector.cc
${
SOURCE_DIR
}
/Mesh.cc
${
SOURCE_DIR
}
/MeshStructure.cc
${
SOURCE_DIR
}
/Operator.cc
${
SOURCE_DIR
}
/OperatorTerm.cc
${
SOURCE_DIR
}
/Parametric.cc
${
SOURCE_DIR
}
/PeriodicBC.cc
${
SOURCE_DIR
}
/ProblemInstat.cc
${
SOURCE_DIR
}
/ProblemInterpol.cc
${
SOURCE_DIR
}
/ProblemStat.cc
${
SOURCE_DIR
}
/Projection.cc
${
SOURCE_DIR
}
/QPInfo.cc
${
SOURCE_DIR
}
/QPsiPhi.cc
${
SOURCE_DIR
}
/Quadrature.cc
${
SOURCE_DIR
}
/RCNeighbourList.cc
${
SOURCE_DIR
}
/Recovery.cc
${
SOURCE_DIR
}
/RefinementManager.cc
${
SOURCE_DIR
}
/RefinementManager1d.cc
${
SOURCE_DIR
}
/RefinementManager2d.cc
${
SOURCE_DIR
}
/RefinementManager3d.cc
${
SOURCE_DIR
}
/RobinBC.cc
${
SOURCE_DIR
}
/ScalableQuadrature.cc
${
SOURCE_DIR
}
/SecondOrderAssembler.cc
${
SOURCE_DIR
}
/SecondOrderTerm.cc
${
SOURCE_DIR
}
/Serializer.cc
${
SOURCE_DIR
}
/StandardProblemIteration.cc
${
SOURCE_DIR
}
/SubAssembler.cc
${
SOURCE_DIR
}
/SubElInfo.cc
${
SOURCE_DIR
}
/SubQuadrature.cc
${
SOURCE_DIR
}
/SurfaceQuadrature.cc
${
SOURCE_DIR
}
/SurfaceRegion_ED.cc
${
SOURCE_DIR
}
/SystemVector.cc
${
SOURCE_DIR
}
/Tetrahedron.cc
${
SOURCE_DIR
}
/Timer.cc
${
SOURCE_DIR
}
/Traverse.cc
${
SOURCE_DIR
}
/Triangle.cc
${
SOURCE_DIR
}
/VertexVector.cc
${
SOURCE_DIR
}
/ZeroOrderAssembler.cc
${
SOURCE_DIR
}
/ZeroOrderTerm.cc
${
SOURCE_DIR
}
/est/Estimator.cc
${
SOURCE_DIR
}
/est/RecoveryEstimator.cc
${
SOURCE_DIR
}
/est/ResidualEstimator.cc
${
SOURCE_DIR
}
/est/SimpleResidualEstimator.cc
${
SOURCE_DIR
}
/io/ArhReader.cc
${
SOURCE_DIR
}
/io/detail/ArhReader.cc
${
SOURCE_DIR
}
/io/Arh2Reader.cc
${
SOURCE_DIR
}
/io/Arh2Writer.cc
${
SOURCE_DIR
}
/io/Arh3Reader.cc
${
SOURCE_DIR
}
/io/Arh3Writer.cc
${
SOURCE_DIR
}
/io/detail/Arh2Reader.cc
${
SOURCE_DIR
}
/io/detail/ArhWriter.cc
${
SOURCE_DIR
}
/io/detail/Arh2Writer.cc
${
SOURCE_DIR
}
/io/detail/Arh3Reader.cc
${
SOURCE_DIR
}
/io/detail/Arh3Writer.cc
${
SOURCE_DIR
}
/io/DofWriter.cc
${
SOURCE_DIR
}
/io/ElementFileWriter.cc
${
SOURCE_DIR
}
/io/FileWriterInterface.cc
${
SOURCE_DIR
}
/io/FileWriter.cc
${
SOURCE_DIR
}
/io/GNUPlotWriter.cc
${
SOURCE_DIR
}
/io/MacroInfo.cc
${
SOURCE_DIR
}
/io/MacroReader.cc
${
SOURCE_DIR
}
/io/MacroWriter.cc
${
SOURCE_DIR
}
/io/PngReader.cc
${
SOURCE_DIR
}
/io/PngWriter.cc
${
SOURCE_DIR
}
/io/PovrayWriter.cc
${
SOURCE_DIR
}
/io/Spreadsheet.cc
${
SOURCE_DIR
}
/io/ValueReader.cc
${
SOURCE_DIR
}
/io/ValueWriter.cc
${
SOURCE_DIR
}
/io/VtkWriter.cc
${
SOURCE_DIR
}
/io/VtkVectorWriter.cc
${
SOURCE_DIR
}
/io/detail/VtkWriter.cc
${
SOURCE_DIR
}
/nonlin/ProblemNonLin.cc
${
SOURCE_DIR
}
/solver/SolverMatrix.cc
${
SOURCE_DIR
}
/time/RosenbrockAdaptInstationary.cc
${
SOURCE_DIR
}
/time/RosenbrockMethod.cc
${
SOURCE_DIR
}
/time/RosenbrockStationary.cc
# debugging files
${
SOURCE_DIR
}
/Debug.cc
${
SOURCE_DIR
}
/GlobalDOFNumbering.cc
# not used by any other class
${
SOURCE_DIR
}
/GlobalElementNumbering.cc
# not used by any other class
${
SOURCE_DIR
}
/ProblemStatDbg.cc
)
if
(
ENABLE_MPI
)
enable_mpi
(
COMPILEFLAGS AMDIS_INCLUDE_DIRS _
)
list
(
APPEND COMPILEFLAGS
"-DHAVE_MPI=1"
)
endif
(
ENABLE_MPI
)
include
(
amdis_parallel
)
include
(
muparser
)
# ------------------------------------------------------------------------------
if
(
ENABLE_COMPRESSION
)
list
(
APPEND COMPILEFLAGS
"-DAMDIS_HAS_COMPRESSION"
)
endif
(
ENABLE_COMPRESSION
)
if
(
ENABLE_EXTENSIONS
)
include
(
amdis_extensions
)
add_library
(
amdis_extensions
${
EXTENSIONS_SRC
}
)
set_target_properties
(
amdis_extensions PROPERTIES OUTPUT_NAME amdisextensions
${
POSTFIX
}
DEBUG_OUTPUT_NAME amdisextensions
${
POSTFIX
}
d
)
install
(
TARGETS amdis_extensions DESTINATION lib/amdis/
)
endif
(
ENABLE_EXTENSIONS
)
if
(
ENABLE_REINIT
)
include
(
amdis_reinit
)
add_library
(
amdis_reinit
${
REINIT_SRC
}
)
set_target_properties
(
amdis_reinit PROPERTIES OUTPUT_NAME amdisreinit
${
POSTFIX
}
DEBUG_OUTPUT_NAME amdisreinit
${
POSTFIX
}
d
)
install
(
TARGETS amdis_reinit DESTINATION lib/amdis/
)
endif
(
ENABLE_REINIT
)
if
(
ENABLE_COMPOSITE_FEM
)
include
(
amdis_compositeFEM
)
add_library
(
amdis_compositeFEM
${
COMPOSITE_FEM_SRC
}
)
set_target_properties
(
amdis_compositeFEM PROPERTIES OUTPUT_NAME amdiscompositefem
${
POSTFIX
}
DEBUG_OUTPUT_NAME amdiscompositefem
${
POSTFIX
}
d
)
install
(
TARGETS amdis_compositeFEM DESTINATION lib/amdis/
)
endif
(
ENABLE_COMPOSITE_FEM
)
if
(
ENABLE_SEQ_PETSC
)
include
(
amdis_seq_petsc
)
endif
(
ENABLE_SEQ_PETSC
)
# ------------------------------------------------------------------------------
include_directories
(
${
AMDIS_INCLUDE_DIRS
}
)
add_definitions
(
${
COMPILEFLAGS
}
)
add_library
(
amdis
${
AMDIS_SRC
}
${
PARALLEL_DOMAIN_AMDIS_SRC
}
)
# specify how to install this target:
# -----------------------------------
set
(
INSTALL_SUBDIRS . config nonlin est expressions operations traits
utility time solver solver/details solver/itl io io/detail
)
foreach
(
SUBDIR
${
INSTALL_SUBDIRS
}
)
file
(
GLOB HEADERS
"
${
SOURCE_DIR
}
/
${
SUBDIR
}
/*.h*"
)
install
(
FILES
${
HEADERS
}
DESTINATION include/amdis/
${
SUBDIR
}
/
)
endforeach
()
file
(
GLOB CMAKE_MACROS
"
${
BASE_DIR
}
/cmake/enable_*.cmake"
)
install
(
FILES
${
CMAKE_MACROS
}
DESTINATION share/amdis/
)
install
(
FILES
${
BASE_DIR
}
/cmake3/parse_zoltan_makefile.cmake DESTINATION share/amdis/
)
install
(
DIRECTORY
${
BASE_DIR
}
/lib/mtl4/ DESTINATION include/amdis/mtl4/
FILES_MATCHING PATTERN
"*.hpp"
PATTERN
".svn"
EXCLUDE
PATTERN
".svn/*"
EXCLUDE
PATTERN
"mtl4/libs"
EXCLUDE
PATTERN
"mtl4/extern"
EXCLUDE
)
set_target_properties
(
amdis PROPERTIES OUTPUT_NAME amdis
${
POSTFIX
}
DEBUG_OUTPUT_NAME amdis
${
POSTFIX
}
d
)
install
(
TARGETS amdis DESTINATION lib/amdis/
)
# generate configuration file:
# ----------------------------
# global configuration
configure_file
(
${
BASE_DIR
}
/cmake/AMDISConfig.cmake.in
${
AMDiS_BINARY_DIR
}
/AMDISConfig.cmake
@ONLY
set
(
PROJECT_CONFIG_FILE
${
PROJECT_BINARY_DIR
}
/AMDiSConfig.cmake
)
configure_package_config_file
(
AMDiSConfig.cmake.in
${
PROJECT_CONFIG_FILE
}
INSTALL_DESTINATION
${
INSTALL_CONFIG_DIR
}
)
# component configuration
configure_file
(
${
BASE_DIR
}
/cmake/AMDIS.cmake.in
<