diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..5cba909360812f307dc349110804892341e756bb --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,12 @@ +project("dune-solvers" CXX) +cmake_minimum_required(VERSION 2.8.6) + +find_package(dune-common) +list(APPEND CMAKE_MODULE_PATH ${dune-common_MODULE_PATH}) +include(DuneMacros) + +dune_project() + +add_subdirectory("dune") + +finalize_dune_project(GENERATE_CONFIG_H_CMAKE) diff --git a/cmake/pkg/dune-solvers-config.cmake.in b/cmake/pkg/dune-solvers-config.cmake.in new file mode 100644 index 0000000000000000000000000000000000000000..43ed3a937e99ea9cde7a097d426cc8751d3d5113 --- /dev/null +++ b/cmake/pkg/dune-solvers-config.cmake.in @@ -0,0 +1,20 @@ +if(NOT @DUNE_MOD_NAME@_FOUND) +#compute installation prefix relative to this file +get_filename_component(_dir "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_prefix "${_dir}/../../.." ABSOLUTE) + +#import the target +#include("${_prefix}/lib/cmake/@DUNE_MOD_NAME@-targets.cmake") + +#report other information +set(@DUNE_MOD_NAME@_PREFIX "${_prefix}") +set(@DUNE_MOD_NAME@_INCLUDE_DIRS "${_prefix}/include") +set(@DUNE_MOD_NAME@_CXX_FLAGS "@CMAKE_CXX_FLAGS@") +set(@DUNE_MOD_NAME@_CXX_FLAGS_DEBUG "@CMAKE_CXX_FLAGS_DEBUG@") +set(@DUNE_MOD_NAME@_CXX_FLAGS_MINSIZEREL "@CMAKE_CXX_FLAGS_MINSIZEREL@") +set(@DUNE_MOD_NAME@_CXX_FLAGS_RELEASE "@CMAKE_CXX_FLAGS_RELEASE@") +set(@DUNE_MOD_NAME@_CXX_FLAGS_RELWITHDEBINFO "@CMAKE_CXX_FLAGS_RELWITHDEBINFO@") +set(@DUNE_MOD_NAME@_DEPENDS "@DUNE_DEPENDS@") +set(@DUNE_MOD_NAME@_SUGGESTS "@DUNE_SUGGESTS@") +set(@DUNE_MOD_NAME@_MODULE_PATH "${_prefix}/@DUNE_INSTALL_MODULEDIR@") +endif(NOT @DUNE_MOD_NAME@_FOUND) \ No newline at end of file diff --git a/dune-solvers-config.cmake.in b/dune-solvers-config.cmake.in new file mode 100644 index 0000000000000000000000000000000000000000..43ed3a937e99ea9cde7a097d426cc8751d3d5113 --- /dev/null +++ b/dune-solvers-config.cmake.in @@ -0,0 +1,20 @@ +if(NOT @DUNE_MOD_NAME@_FOUND) +#compute installation prefix relative to this file +get_filename_component(_dir "${CMAKE_CURRENT_LIST_FILE}" PATH) +get_filename_component(_prefix "${_dir}/../../.." ABSOLUTE) + +#import the target +#include("${_prefix}/lib/cmake/@DUNE_MOD_NAME@-targets.cmake") + +#report other information +set(@DUNE_MOD_NAME@_PREFIX "${_prefix}") +set(@DUNE_MOD_NAME@_INCLUDE_DIRS "${_prefix}/include") +set(@DUNE_MOD_NAME@_CXX_FLAGS "@CMAKE_CXX_FLAGS@") +set(@DUNE_MOD_NAME@_CXX_FLAGS_DEBUG "@CMAKE_CXX_FLAGS_DEBUG@") +set(@DUNE_MOD_NAME@_CXX_FLAGS_MINSIZEREL "@CMAKE_CXX_FLAGS_MINSIZEREL@") +set(@DUNE_MOD_NAME@_CXX_FLAGS_RELEASE "@CMAKE_CXX_FLAGS_RELEASE@") +set(@DUNE_MOD_NAME@_CXX_FLAGS_RELWITHDEBINFO "@CMAKE_CXX_FLAGS_RELWITHDEBINFO@") +set(@DUNE_MOD_NAME@_DEPENDS "@DUNE_DEPENDS@") +set(@DUNE_MOD_NAME@_SUGGESTS "@DUNE_SUGGESTS@") +set(@DUNE_MOD_NAME@_MODULE_PATH "${_prefix}/@DUNE_INSTALL_MODULEDIR@") +endif(NOT @DUNE_MOD_NAME@_FOUND) \ No newline at end of file diff --git a/dune-solvers-version.cmake.in b/dune-solvers-version.cmake.in new file mode 100644 index 0000000000000000000000000000000000000000..a1c2199d972b8943a646d4feb40d12e9e239b141 --- /dev/null +++ b/dune-solvers-version.cmake.in @@ -0,0 +1,8 @@ +set(PACKAGE_VERSION "@DUNE_MOD_VERSION@") + +if(NOT "${PACKAGE_FIND_VERSION}" VERSION_GREATER "@DUNE_MOD_VERSION@") + set (PACKAGE_VERSION_COMPATIBLE 1) # compatible with older + if ("${PACKAGE_FIND_VERSION}" VERSION_EQUAL "@DUNE_MOD_VERSION@") + set(PACKAGE_VERSION_EXACT 1) #exact match for this version + endif() +endif() diff --git a/dune/CMakeLists.txt b/dune/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..f62b2603663be0828325d6f0baea2ad203ce7bed --- /dev/null +++ b/dune/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory("solvers") diff --git a/dune/solvers/CMakeLists.txt b/dune/solvers/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..83d271c619a55e73c3033b028ce94366b3ce97e3 --- /dev/null +++ b/dune/solvers/CMakeLists.txt @@ -0,0 +1,10 @@ +add_subdirectory("common") +add_subdirectory("iterationsteps") +add_subdirectory("norms") +add_subdirectory("operators") +add_subdirectory("solvers") +add_subdirectory("transferoperators") + +install(FILES + computeenergy.hh + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/solvers) diff --git a/dune/solvers/common/CMakeLists.txt b/dune/solvers/common/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..3bdd6841d5302821f289d9a3eff262bee26efb25 --- /dev/null +++ b/dune/solvers/common/CMakeLists.txt @@ -0,0 +1,10 @@ +install(FILES + arithmetic.hh + boxconstraint.hh + canignore.hh + genericvectortools.hh + numproc.hh + permutationmanager.hh + preconditioner.hh + staticmatrixtools.hh + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/solvers/common) diff --git a/dune/solvers/iterationsteps/CMakeLists.txt b/dune/solvers/iterationsteps/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..f506aac5660cf7c1b4851febf8920c69d1325df2 --- /dev/null +++ b/dune/solvers/iterationsteps/CMakeLists.txt @@ -0,0 +1,27 @@ +install(FILES + amgstep.hh + blockgsstep.cc + blockgsstep.hh + cgstep.cc + cgstep.hh + istlseqilu0step.hh + iterationstep.hh + lineariterationstep.hh + linegsstep.cc + linegsstep.hh + minimalpolynomialextrapolationstep.hh + mmgstep.cc + mmgstep.hh + multigridstep.cc + multigridstep.hh + obstacletnnmgstep.hh + projectedblockgsstep.cc + projectedblockgsstep.hh + projectedlinegsstep.cc + projectedlinegsstep.hh + richardsonstep.hh + truncatedblockgsstep.hh + truncatedsaddlepointgsstep.hh + trustregiongsstep.cc + trustregiongsstep.hh + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/solvers/iterationsteps) diff --git a/dune/solvers/norms/CMakeLists.txt b/dune/solvers/norms/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..4da971a12fd1a67f61ff58f7e95fdfe5370618eb --- /dev/null +++ b/dune/solvers/norms/CMakeLists.txt @@ -0,0 +1,12 @@ +install(FILES + blocknorm.hh + diagnorm.hh + energynorm.hh + fullnorm.hh + h1seminorm.hh + norm.hh + pnorm.hh + reorderedblocknorm.hh + sumnorm.hh + twonorm.hh + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/solvers/norms) diff --git a/dune/solvers/operators/CMakeLists.txt b/dune/solvers/operators/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..a3eee0b0c0ffa5de17e0e6019eaa166831d2c61e --- /dev/null +++ b/dune/solvers/operators/CMakeLists.txt @@ -0,0 +1,5 @@ +install(FILES + lowrankoperator.hh + nulloperator.hh + sumoperator.hh + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/solvers/operators) diff --git a/dune/solvers/solvers/CMakeLists.txt b/dune/solvers/solvers/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..a2e7d1c6b629ea16fb66094512abd83940f8d40f --- /dev/null +++ b/dune/solvers/solvers/CMakeLists.txt @@ -0,0 +1,12 @@ +install(FILES + cgsolver.cc + cgsolver.hh + iterativesolver.cc + iterativesolver.hh + loopsolver.cc + loopsolver.hh + quadraticipopt.hh + solver.hh + tcgsolver.cc + tcgsolver.hh + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/solvers/solvers) diff --git a/dune/solvers/transferoperators/CMakeLists.txt b/dune/solvers/transferoperators/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..d76a30ad22c2acd42bc0deafec55af44a4cf1b45 --- /dev/null +++ b/dune/solvers/transferoperators/CMakeLists.txt @@ -0,0 +1,14 @@ +install(FILES + compressedmultigridtransfer.hh + densemultigridtransfer.hh + genericmultigridtransfer.hh + mandelobsrestrictor.cc + mandelobsrestrictor.hh + multigridtransfer.hh + obstaclerestrictor.hh + truncatedcompressedmgtransfer.cc + truncatedcompressedmgtransfer.hh + truncateddensemgtransfer.cc + truncateddensemgtransfer.hh + truncatedmgtransfer.hh + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/dune/solvers/transferoperators) diff --git a/m4/CMakeLists.txt b/m4/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..3da0b6f110f5c59291ff206ce6d059b0703ae455 --- /dev/null +++ b/m4/CMakeLists.txt @@ -0,0 +1,4 @@ +install(FILES + dune-solvers.m4 + ipopt4.m4 + DESTINATION share/aclocal)