From ee6c28d0ed938be3b63ceef19d8b233fa37cfa02 Mon Sep 17 00:00:00 2001 From: maier Date: Thu, 27 Sep 2012 14:55:19 +0000 Subject: [PATCH] Code cleanup git-svn-id: https://svn.dealii.org/branches/branch_cmake@26783 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/cmake/configure/configure_1_mpi.cmake | 2 ++ deal.II/cmake/configure/configure_1_tbb.cmake | 8 ++---- deal.II/cmake/configure/configure_boost.cmake | 1 + .../cmake/configure/configure_doxygen.cmake | 3 -- .../configure/configure_functionparser.cmake | 4 +++ .../cmake/configure/configure_lapack.cmake | 7 +++-- deal.II/cmake/configure/configure_p4est.cmake | 24 ++-------------- deal.II/cmake/configure/configure_petsc.cmake | 19 ------------- deal.II/cmake/modules/FindP4EST.cmake | 23 +++++++++++++++ deal.II/cmake/modules/FindPETSC.cmake | 20 ++----------- deal.II/include/deal.II/base/config.h.in | 28 ++++++------------- deal.II/source/lac/slepc_solver.cc | 2 +- 12 files changed, 53 insertions(+), 88 deletions(-) diff --git a/deal.II/cmake/configure/configure_1_mpi.cmake b/deal.II/cmake/configure/configure_1_mpi.cmake index 07017f682e..ec821a5b6b 100644 --- a/deal.II/cmake/configure/configure_1_mpi.cmake +++ b/deal.II/cmake/configure/configure_1_mpi.cmake @@ -44,8 +44,10 @@ MACRO(FEATURE_MPI_CONFIGURE_EXTERNAL var) SET(${var} TRUE) ENDMACRO() + SET(FEATURE_MPI_CUSTOM_ERROR_MESSAGE TRUE) + MACRO(FEATURE_MPI_ERROR_MESSAGE) MESSAGE(SEND_ERROR "\n" "Could not find any suitable mpi library!\n\n" diff --git a/deal.II/cmake/configure/configure_1_tbb.cmake b/deal.II/cmake/configure/configure_1_tbb.cmake index acae8bdc54..1b040d93ab 100644 --- a/deal.II/cmake/configure/configure_1_tbb.cmake +++ b/deal.II/cmake/configure/configure_1_tbb.cmake @@ -68,12 +68,11 @@ MACRO(SETUP_THREADING var) #endif int main(){ return 0; } " - DEAL_II_HAVE_SANE_MT_DEFINITIONS) + DEAL_II_HAVE_MT_DEFINITIONS) STRIP_FLAG(CMAKE_REQUIRED_FLAGS "${CMAKE_THREAD_LIBS_INIT}") - IF(NOT DEAL_II_HAVE_SANE_MT_DEFINITIONS) + IF(NOT DEAL_II_HAVE_MT_DEFINITIONS) LIST(APPEND DEAL_II_DEFINITIONS "_REENTRANT" "_THREAD_SAFE") - LIST(APPEND DEAL_II_USER_DEFINITIONS "_REENTRANT" "_THREAD_SAFE") # TODO: Necessary? ENDIF() ENDIF(Threads_FOUND) @@ -126,6 +125,7 @@ SET(FEATURE_TBB_HAVE_CONTRIB TRUE) MACRO(FEATURE_TBB_CONFIGURE_CONTRIB var) + SET(tbb_folder "${CMAKE_SOURCE_DIR}/contrib/tbb/tbb30_104oss") # # Setup threading (before configuring our build...) @@ -148,8 +148,6 @@ MACRO(FEATURE_TBB_CONFIGURE_CONTRIB var) ) ENDIF() - SET(tbb_folder "${CMAKE_SOURCE_DIR}/contrib/tbb/tbb30_104oss") - INCLUDE_DIRECTORIES(${tbb_folder}/include) # diff --git a/deal.II/cmake/configure/configure_boost.cmake b/deal.II/cmake/configure/configure_boost.cmake index 00b670d801..e0a8038929 100644 --- a/deal.II/cmake/configure/configure_boost.cmake +++ b/deal.II/cmake/configure/configure_boost.cmake @@ -111,3 +111,4 @@ IF(NOT DEAL_II_WITH_BOOST) ) ENDIF() ENDIF() + diff --git a/deal.II/cmake/configure/configure_doxygen.cmake b/deal.II/cmake/configure/configure_doxygen.cmake index 4b639b4c12..6c9c015333 100644 --- a/deal.II/cmake/configure/configure_doxygen.cmake +++ b/deal.II/cmake/configure/configure_doxygen.cmake @@ -26,9 +26,6 @@ MACRO(FEATURE_DOXYGEN_CONFIGURE_EXTERNAL var) # DOXYGEN_DOT_FOUND = Was Dot found or not? # DOXYGEN_DOT_PATH = The path to dot not including the executable # - # Use these variables to set up a custom target: - # - SET(${var} TRUE) ENDMACRO() diff --git a/deal.II/cmake/configure/configure_functionparser.cmake b/deal.II/cmake/configure/configure_functionparser.cmake index 04f0af5dd8..a6f9a93667 100644 --- a/deal.II/cmake/configure/configure_functionparser.cmake +++ b/deal.II/cmake/configure/configure_functionparser.cmake @@ -1,3 +1,7 @@ +# +# Configuration for functionparser +# + MACRO(FEATURE_FUNCTIONPARSER_FIND_EXTERNAL var) MESSAGE(STATUS "No module available for finding functionparser externally." diff --git a/deal.II/cmake/configure/configure_lapack.cmake b/deal.II/cmake/configure/configure_lapack.cmake index b7564bc6ff..8db82dff6c 100644 --- a/deal.II/cmake/configure/configure_lapack.cmake +++ b/deal.II/cmake/configure/configure_lapack.cmake @@ -1,3 +1,4 @@ + # # Configuration for the lapack library: # @@ -19,8 +20,8 @@ ENDMACRO() # function we use. We have to ensure that this check is repeated every time # the lapack library or DEAL_II_WITH_LAPACK changes. # -# TODO: Known bug: At the moment we don't cover the case if the lapack -# library changes. +# TODO: Known bug: At the moment we don't cover the case when the lapack +# library changes.. # SET(DEAL_II_LAPACK_FUNCTIONS @@ -51,6 +52,7 @@ MACRO(RESET_LAPACK_FUNCTIONS_CACHE) ENDFOREACH() ENDMACRO() + MACRO(FEATURE_LAPACK_CONFIGURE_EXTERNAL var) ADD_FLAGS(CMAKE_SHARED_LINKER_FLAGS "${LAPACK_LINKER_FLAGS}") @@ -70,6 +72,7 @@ ENDMACRO() CONFIGURE_FEATURE(LAPACK) + # # Call RESET_LAPACK_FUNCTIONS_CHECK if DEAL_II_WITH_LAPACK is unset to # clean the configuration diff --git a/deal.II/cmake/configure/configure_p4est.cmake b/deal.II/cmake/configure/configure_p4est.cmake index 3cfc70a8b2..0fc4bb2fda 100644 --- a/deal.II/cmake/configure/configure_p4est.cmake +++ b/deal.II/cmake/configure/configure_p4est.cmake @@ -1,5 +1,5 @@ # -# Configuration for the umfpack and amd libraries: +# Configuration for the p4est and sc libraries: # @@ -9,27 +9,14 @@ SET(FEATURE_P4EST_DEPENDS MACRO(FEATURE_P4EST_FIND_EXTERNAL var) + FIND_PACKAGE(P4EST) FIND_PACKAGE(SC) IF(P4EST_FOUND AND SC_FOUND) - # # Check whether p4est supports mpi: # - LIST(APPEND CMAKE_REQUIRED_INCLUDES ${P4EST_INCLUDE_DIR}) - CHECK_CXX_SOURCE_COMPILES( - " - #include - #ifndef P4EST_MPI - # error p4est compiled without mpi support - invalid - #endif - int main() { return 0; } - " - P4EST_WITH_MPI) - LIST(REMOVE_ITEM CMAKE_REQUIRED_INCLUDES ${P4EST_INCLUDE_DIR}/p4est_config.h) - IF(NOT P4EST_WITH_MPI) MESSAGE(WARNING "\n" "Could not find a sufficient p4est installation: " @@ -38,13 +25,8 @@ MACRO(FEATURE_P4EST_FIND_EXTERNAL var) ELSE() SET(${var} TRUE) ENDIF() - - # - # Remove the variable from the cache to force a recheck: - # - UNSET(P4EST_WITH_MPI CACHE) - ENDIF() + ENDMACRO() diff --git a/deal.II/cmake/configure/configure_petsc.cmake b/deal.II/cmake/configure/configure_petsc.cmake index 57dd1fc9e6..17079e5e6a 100644 --- a/deal.II/cmake/configure/configure_petsc.cmake +++ b/deal.II/cmake/configure/configure_petsc.cmake @@ -65,25 +65,6 @@ MACRO(FEATURE_PETSC_CONFIGURE_EXTERNAL var) ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS "-Wno-long-long") - # - # Work around a stupidity in PETSc that makes sure it interferes in - # a completely obnoxious way with boost. - # TODO: Obsolete? - # - #SET(PETSC_SKIP_UNDERSCORE_CHKERR TRUE) - - # - # Set some definitions for config.h: - # - - IF(NOT PETSC_RELEASE) - SET(DEAL_II_USE_PETSC_DEV TRUE) - ENDIF() - - IF(PETSC_COMPLEX) - SET(DEAL_II_USE_PETSC_COMPLEX TRUE) - ENDIF() - SET(DEAL_II_EXPAND_PETSC_VECTOR "PETScWrappers::Vector") SET(DEAL_II_EXPAND_PETSC_BLOCKVECTOR "PETScWrappers::BlockVector") diff --git a/deal.II/cmake/modules/FindP4EST.cmake b/deal.II/cmake/modules/FindP4EST.cmake index 7055ae7122..3944aa64c8 100644 --- a/deal.II/cmake/modules/FindP4EST.cmake +++ b/deal.II/cmake/modules/FindP4EST.cmake @@ -24,6 +24,29 @@ FIND_LIBRARY(P4EST_LIBRARY FIND_PACKAGE_HANDLE_STANDARD_ARGS(P4EST DEFAULT_MSG P4EST_LIBRARY P4EST_INCLUDE_DIR) IF(P4EST_FOUND) + +FIND_FILE(PETSC_PETSCVERSION_H petscversion.h + HINTS + ${PETSC_INCLUDE_DIRS} + NO_DEFAULT_PATH + NO_CMAKE_ENVIRONMENT_PATH + NO_CMAKE_PATH + NO_SYSTEM_ENVIRONMENT_PATH + NO_CMAKE_SYSTEM_PATH + NO_CMAKE_FIND_ROOT_PATH + ) + + # + # Determine mpi support of p4est: + # + FILE(STRINGS "${P4EST_INCLUDE_DIR}/p4est_config.h" P4EST_MPI_STRING + REGEX "#define.*P4EST_MPI 1") + IF("${P4EST_MPI_STRING}" STREQUAL "") + SET(P4EST_WITH_MPI FALSE) + ELSE() + SET(P4EST_WITH_MPI TRUE) + ENDIF() + MARK_AS_ADVANCED( P4EST_LIBRARY P4EST_INCLUDE_DIR diff --git a/deal.II/cmake/modules/FindPETSC.cmake b/deal.II/cmake/modules/FindPETSC.cmake index 05d5a37da2..cb32527e01 100644 --- a/deal.II/cmake/modules/FindPETSC.cmake +++ b/deal.II/cmake/modules/FindPETSC.cmake @@ -11,8 +11,6 @@ # PETSC_VERSION_MINOR # PETSC_VERSION_SUBMINOR # PETSC_VERSION_PATCH -# PETSC_RELEASE -# PETSC_COMPLEX # INCLUDE(FindPackageHandleStandardArgs) @@ -145,6 +143,8 @@ IF(PETSC_FOUND) ENDIF() IF(PETSC_WITH_MPIUNI) + # + # TODO: Still needed? # # If yes, add libmpiuni.so/a (if available) # We need to link with it on some systems where PETSc is built without @@ -192,22 +192,6 @@ IF(PETSC_FOUND) SET(PETSC_VERSION "${PETSC_VERSION_MAJOR}.${PETSC_VERSION_MINOR}.${PETSC_VERSION_SUBMINOR}") - FILE(STRINGS "${PETSC_PETSCVERSION_H}" PETSC_RELEASE_STRING - REGEX "#define.*PETSC_VERSION_RELEASE.*1") - IF("${PETSC_RELEASE_STRING}" STREQUAL "") - SET(PETSC_RELEASE FALSE) - ELSE() - SET(PETSC_RELEASE TRUE) - ENDIF() - - FILE(STRINGS "${PETSC_PETSCCONF_H}" PETSC_COMPLEX_STRING - REGEX "#define.*PETSC_USE_COMPLEX.*1") - IF("${PETSC_COMPLEX_STRING}" STREQUAL "") - SET(PETSC_COMPLEX FALSE) - ELSE() - SET(PETSC_COMPLEX TRUE) - ENDIF() - MARK_AS_ADVANCED( PETSC_LIBRARIES PETSC_INCLUDE_DIRS diff --git a/deal.II/include/deal.II/base/config.h.in b/deal.II/include/deal.II/base/config.h.in index 57cd2ad7dd..4d4f4d0a21 100644 --- a/deal.II/include/deal.II/base/config.h.in +++ b/deal.II/include/deal.II/base/config.h.in @@ -225,27 +225,17 @@ /* Defined if a PETSc installation was found and is going to be used */ #cmakedefine DEAL_II_USE_PETSC -/* Note: PETSCs version numbers will be directly included from - * petscversion.h - */ - -/* Defined if a PETSc installation was found with complex scalar type and is - * going to be used - */ -#cmakedefine DEAL_II_USE_PETSC_COMPLEX - -/* Defined if a PETSc installation was found and is not a release */ -#cmakedefine DEAL_II_USE_PETSC_DEV - -/* Make sure PETSc doesn't re-define the underscore through the preprocessor, - * since this interferes with boost. PETSc redefines the underscore to be - * "__gterr =", but then forgets to undef this thing. Boost simply wants to - * concatenate the underscore with another string to form a class name, which - * then of course isn't valid any more. See mails in early Feb 2006. +/* + * Note: The following definitions will be set in petscconf.h and + * petscversion.h, so we don't repeat them here. * - * TODO: Obsolete? + * PETSC_VERSION_MAJOR + * PETSC_VERSION_MINOR + * PETSC_VERSION_SUBMINOR + * PETSC_VERSION_PATCH + * PETSC_VERSION_RELEASE + * PETSC_USE_COMPLEX */ -#cmakedefine PETSC_SKIP_UNDERSCORE_CHKERR /** * These macros are defined to make testing for PETSc versions within diff --git a/deal.II/source/lac/slepc_solver.cc b/deal.II/source/lac/slepc_solver.cc index 3c4c21a378..2b73fd617b 100644 --- a/deal.II/source/lac/slepc_solver.cc +++ b/deal.II/source/lac/slepc_solver.cc @@ -170,7 +170,7 @@ namespace SLEPcWrappers void SolverBase::get_eigenpair (const unsigned int index, -#ifndef DEAL_II_USE_PETSC_COMPLEX +#ifndef PETSC_USE_COMPLEX double &kr, #else std::complex &kr, -- 2.39.5