#
# 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)
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()
#
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)
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)
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
#
# 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"