diff --git a/CMakeLists.txt b/CMakeLists.txt index f4bd51c83c2827f08067764cd70bf3703fc81c47..ded50c720774199394bd9683729599a22467f2e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -843,28 +843,28 @@ if(HAVE_SOLVER) endif(ENABLE_TAUCS) if(ENABLE_MUMPS) - find_library(SMUMPS_LIB smumps PATH_SUFFIXES lib) - find_library(DMUMPS_LIB dmumps PATH_SUFFIXES lib) - find_library(CMUMPS_LIB cmumps PATH_SUFFIXES lib) - find_library(ZMUMPS_LIB zmumps PATH_SUFFIXES lib) + set(MUMPS_LIBS_REQUIRED mumps_common metis pord smumps dmumps cmumps zmumps) + if(NOT ENABLE_MPI) + list(APPEND MUMPS_LIBS_REQUIRED mpiseq) + endif(NOT ENABLE_MPI) + find_all_libraries(MUMPS_LIBRARIES MUMPS_LIBS_REQUIRED "" "lib") find_path(SMUMPS_INC "smumps_c.h" PATH_SUFFIXES src include) find_path(DMUMPS_INC "dmumps_c.h" PATH_SUFFIXES src include) find_path(CMUMPS_INC "cmumps_c.h" PATH_SUFFIXES src include) find_path(ZMUMPS_INC "zmumps_c.h" PATH_SUFFIXES src include) - if(SMUMPS_LIB AND SMUMPS_INC AND - DMUMPS_LIB AND DMUMPS_INC AND - CMUMPS_LIB AND CMUMPS_INC AND - ZMUMPS_LIB AND ZMUMPS_INC) - set_config_option(HAVE_MUMPS "MUMPS") - add_definitions(-DGMM_USES_MUMPS) - list(APPEND EXTERNAL_LIBRARIES ${DMUMPS_LIB}) - list(APPEND EXTERNAL_INCLUDES ${DMUMPS_INC}) - list(APPEND EXTERNAL_LIBRARIES ${ZMUMPS_LIB}) - list(APPEND EXTERNAL_INCLUDES ${ZMUMPS_INC}) - endif(SMUMPS_LIB AND SMUMPS_INC AND - DMUMPS_LIB AND DMUMPS_INC AND - CMUMPS_LIB AND CMUMPS_INC AND - ZMUMPS_LIB AND ZMUMPS_INC) + if(MUMPS_LIBRARIES AND SMUMPS_INC AND DMUMPS_INC AND CMUMPS_INC AND ZMUMPS_INC) + set_config_option(HAVE_MUMPS "MUMPS") + add_definitions(-DGMM_USES_MUMPS) + list(APPEND EXTERNAL_LIBRARIES ${MUMPS_LIBRARIES}) + list(APPEND EXTERNAL_INCLUDES ${SMUMPS_INC}) + list(APPEND EXTERNAL_INCLUDES ${DMUMPS_INC}) + list(APPEND EXTERNAL_INCLUDES ${CMUMPS_INC}) + list(APPEND EXTERNAL_INCLUDES ${ZMUMPS_INC}) + find_library(GFORTRAN_LIB gfortran) + if(GFORTRAN_LIB) + list(APPEND EXTERNAL_LIBRARIES ${GFORTRAN_LIB}) + endif(GFORTRAN_LIB) + endif(MUMPS_LIBRARIES AND SMUMPS_INC AND DMUMPS_INC AND CMUMPS_INC AND ZMUMPS_INC) endif(ENABLE_MUMPS) if(ENABLE_PETSC)