From: Denis Davydov Date: Sun, 9 Aug 2015 21:06:30 +0000 (+0200) Subject: extend CMake scripts to find PArpack X-Git-Tag: v8.4.0-rc2~396^2~9 X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5c32f91135e6bc786d01eeadcef1c9a6693d5936;p=dealii.git extend CMake scripts to find PArpack --- diff --git a/cmake/configure/configure_arpack.cmake b/cmake/configure/configure_arpack.cmake index 94df25db7f..206b0cc491 100644 --- a/cmake/configure/configure_arpack.cmake +++ b/cmake/configure/configure_arpack.cmake @@ -20,3 +20,4 @@ SET(FEATURE_ARPACK_DEPENDS LAPACK) CONFIGURE_FEATURE(ARPACK) +SET(DEAL_II_ARPACK_WITH_PARPACK ARPACK_WITH_PARPACK) diff --git a/cmake/modules/FindARPACK.cmake b/cmake/modules/FindARPACK.cmake index 20aa694237..b15a4c722a 100644 --- a/cmake/modules/FindARPACK.cmake +++ b/cmake/modules/FindARPACK.cmake @@ -20,10 +20,7 @@ # # ARPACK_LIBRARIES # ARPACK_LINKER_FLAGS -# - -# -# TODO: ARPACK and mpi... +# ARPACK_WITH_PARPACK # SET(ARPACK_DIR "" CACHE PATH "An optional hint to an ARPACK installation") @@ -35,8 +32,37 @@ DEAL_II_FIND_LIBRARY(ARPACK_LIBRARY PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib ) +IF(DEAL_II_WITH_MPI) + # + # Sanity check: Only search the parpack library in the same directory as + # the arpack library... + # + GET_FILENAME_COMPONENT(_path "${ARPACK_LIBRARY}" PATH) + DEAL_II_FIND_LIBRARY(PARPACK_LIBRARY + NAMES parpack + HINTS ${_path} + NO_DEFAULT_PATH + NO_CMAKE_ENVIRONMENT_PATH + NO_CMAKE_PATH + NO_SYSTEM_ENVIRONMENT_PATH + NO_CMAKE_SYSTEM_PATH + NO_CMAKE_FIND_ROOT_PATH + ) +ELSE() + SET(PARPACK_LIBRARY "PARPACK_LIBRARY-NOTFOUND") +ENDIF() + +IF(NOT PARPACK_LIBRARY MATCHES "-NOTFOUND") + SET(ARPACK_WITH_PARPACK TRUE) +ELSE() + SET(ARPACK_WITH_PARPACK FALSE) +ENDIF() + DEAL_II_PACKAGE_HANDLE(ARPACK - LIBRARIES REQUIRED ARPACK_LIBRARY LAPACK_LIBRARIES + LIBRARIES + OPTIONAL PARPACK_LIBRARY + REQUIRED ARPACK_LIBRARY LAPACK_LIBRARIES + OPTIONAL MPI_C_LIBRARIES LINKER_FLAGS OPTIONAL LAPACK_LINKER_FLAGS - CLEAR ARPACK_LIBRARY + CLEAR ARPACK_LIBRARY PARPACK_LIBRARY ) diff --git a/include/deal.II/base/config.h.in b/include/deal.II/base/config.h.in index 297782d727..13684bbf04 100644 --- a/include/deal.II/base/config.h.in +++ b/include/deal.II/base/config.h.in @@ -53,7 +53,7 @@ #cmakedefine DEAL_II_WITH_TRILINOS #cmakedefine DEAL_II_WITH_UMFPACK #cmakedefine DEAL_II_WITH_ZLIB - +#cmakedefine DEAL_II_ARPACK_WITH_PARPACK /*********************************************************************** * Compiler bugs: