From 9461bcb34d4bb37349b5540f8755335657701187 Mon Sep 17 00:00:00 2001 From: maier Date: Wed, 3 Oct 2012 13:11:23 +0000 Subject: [PATCH] Cleanup git-svn-id: https://svn.dealii.org/branches/branch_cmake@26935 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/bundled/CMakeLists.txt | 31 ++++++++++++++++--- deal.II/cmake/configure/configure_1_mpi.cmake | 7 ++--- .../cmake/configure/configure_arpack.cmake | 8 +---- ..._1_lapack.cmake => configure_lapack.cmake} | 0 .../cmake/configure/configure_umfpack.cmake | 14 ++------- deal.II/cmake/setup_compiler_flags.cmake | 4 +-- 6 files changed, 35 insertions(+), 29 deletions(-) rename deal.II/cmake/configure/{configure_1_lapack.cmake => configure_lapack.cmake} (100%) diff --git a/deal.II/bundled/CMakeLists.txt b/deal.II/bundled/CMakeLists.txt index abb821f7ee..b80033cf9d 100644 --- a/deal.II/bundled/CMakeLists.txt +++ b/deal.II/bundled/CMakeLists.txt @@ -81,11 +81,32 @@ ENDIF() # # UMFPACK, AMD and UFCONFIG: # -SET(FEATURE_UMFPACK_HAVE_BUNDLED TRUE) -SET(UMFPACK_FOLDER "${CMAKE_SOURCE_DIR}/bundled/umfpack") -OPTION(DEAL_II_FORCE_BUNDLED_UMFPACK - "Always use the bundled umfpack library instead of an external one." - OFF) + +# +# We need BLAS as an external dependency. So only define the bundled +# umfpack library as usable if we actually have blas available... +# TODO: Cleanup this hack. +# +IF(NOT FEATURE_UMFPACK_HAVE_BUNDLED) + FIND_PACKAGE(BLAS) +ENDIF() + +IF(BLAS_FOUND) + SET(FEATURE_UMFPACK_HAVE_BUNDLED TRUE) + SET(UMFPACK_FOLDER "${CMAKE_SOURCE_DIR}/bundled/umfpack") + OPTION(DEAL_II_FORCE_BUNDLED_UMFPACK + "Always use the bundled umfpack library instead of an external one." + OFF) + MARK_AS_ADVANCED( + atlas_LIBRARY + blas_LIBRARY + ) +ELSE() + MESSAGE(WARNING "\n" + "Could not find the BLAS library: " + "Disabling bundled UMFPACK\n\n" + ) +ENDIF() IF(FEATURE_UMFPACK_BUNDLED_CONFIGURED) ADD_SUBDIRECTORY(${UMFPACK_FOLDER}/UMFPACK/Source) diff --git a/deal.II/cmake/configure/configure_1_mpi.cmake b/deal.II/cmake/configure/configure_1_mpi.cmake index c12a77ab5d..ff934f4a9c 100644 --- a/deal.II/cmake/configure/configure_1_mpi.cmake +++ b/deal.II/cmake/configure/configure_1_mpi.cmake @@ -48,12 +48,11 @@ MACRO(FEATURE_MPI_CONFIGURE_EXTERNAL var) LIST(APPEND DEAL_II_USER_INCLUDE_DIRS ${MPI_CXX_INCLUDE_PATH}) - SET(DEAL_II_SET_MPI_COMPILER ON CACHE BOOL - "Set compiler to the detected mpi wrapper" + SET(DEAL_II_USE_MPICXX OFF CACHE BOOL + "Set the compiler to the detected mpi wrapper" ) - MARK_AS_ADVANCED(DEAL_II_SET_MPI_COMPILER) - IF(DEAL_II_SET_MPI_COMPILER) + IF(DEAL_II_MPICXX) SET(CMAKE_CXX_COMPILER ${MPI_CXX_COMPILER}) SET(CMAKE_C_COMPILER ${MPI_C_COMPILER}) ENDIF() diff --git a/deal.II/cmake/configure/configure_arpack.cmake b/deal.II/cmake/configure/configure_arpack.cmake index 8d8f817a34..8fb96d8a8d 100644 --- a/deal.II/cmake/configure/configure_arpack.cmake +++ b/deal.II/cmake/configure/configure_arpack.cmake @@ -17,16 +17,10 @@ # OPTION(DEAL_II_WITH_ARPACK - "Build deal.II with support for doxygen and dot." + "Build deal.II with support for arpack." OFF) -SET(FEATURE_ARPACK_DEPENDS - # Currently, with enabled arpack support, we also need to setup - # LAPACK support in deal.II: - DEAL_II_WITH_LAPACK - ) - MACRO(FEATURE_ARPACK_FIND_EXTERNAL var) FIND_PACKAGE(ARPACK) diff --git a/deal.II/cmake/configure/configure_1_lapack.cmake b/deal.II/cmake/configure/configure_lapack.cmake similarity index 100% rename from deal.II/cmake/configure/configure_1_lapack.cmake rename to deal.II/cmake/configure/configure_lapack.cmake diff --git a/deal.II/cmake/configure/configure_umfpack.cmake b/deal.II/cmake/configure/configure_umfpack.cmake index 048b33dfd3..719aebb166 100644 --- a/deal.II/cmake/configure/configure_umfpack.cmake +++ b/deal.II/cmake/configure/configure_umfpack.cmake @@ -21,13 +21,6 @@ OPTION(DEAL_II_WITH_UMFPACK OFF) -SET(FEATURE_UMFPACK_DEPENDS - # Currently, with enabled umfpack support, we also need to setup - # LAPACK support in deal.II: - DEAL_II_WITH_LAPACK - ) - - MACRO(FEATURE_UMFPACK_FIND_EXTERNAL var) FIND_PACKAGE(UMFPACK) @@ -50,10 +43,9 @@ ENDMACRO() MACRO(FEATURE_UMFPACK_CONFIGURE_BUNDLED var) - # - # DEAL_II_WITH_LAPACK will pull in an external BLAS library. So no need - # to setup something more than bundled UMFPACK here. - # + + LIST(APPEND DEAL_II_EXTERNAL_LIBRARIES ${BLAS_LIBRARIES}) + ADD_FLAGS(CMAKE_SHARED_LINKER_FLAGS "${BLAS_LINKER_FLAGS}") INCLUDE_DIRECTORIES( ${UMFPACK_FOLDER}/UMFPACK/Include diff --git a/deal.II/cmake/setup_compiler_flags.cmake b/deal.II/cmake/setup_compiler_flags.cmake index 6a9d3c8f72..d009c30554 100644 --- a/deal.II/cmake/setup_compiler_flags.cmake +++ b/deal.II/cmake/setup_compiler_flags.cmake @@ -56,8 +56,8 @@ # # So, give a prominent error message in case CC and CXX differ: # -IF(NOT ( ${CMAKE_C_COMPILER_ID} STREQUAL ${CMAKE_CXX_COMPILER_ID} AND - ${CMAKE_C_COMPILER_VERSION} STREQUAL ${CMAKE_CXX_COMPILER_VERSION} ) ) +IF(NOT ( "${CMAKE_C_COMPILER_ID}" STREQUAL "${CMAKE_CXX_COMPILER_ID}" AND + "${CMAKE_C_COMPILER_VERSION}" STREQUAL "${CMAKE_CXX_COMPILER_VERSION}" ) ) MESSAGE(SEND_ERROR "\n" "Configuration error: The specified C and CXX compiler have to be the " "same, but found:\n" -- 2.39.5