]> https://gitweb.dealii.org/ - dealii.git/commitdiff
extend CMake scripts to find PArpack
authorDenis Davydov <davydden@gmail.com>
Sun, 9 Aug 2015 21:06:30 +0000 (23:06 +0200)
committerDenis Davydov <davydden@gmail.com>
Thu, 17 Sep 2015 09:35:24 +0000 (11:35 +0200)
cmake/configure/configure_arpack.cmake
cmake/modules/FindARPACK.cmake
include/deal.II/base/config.h.in

index 94df25db7f43c3e29b49c1413d9cf5f9f4fdd057..206b0cc4913e4e954ca7f485146b0d1790c1fc90 100644 (file)
@@ -20,3 +20,4 @@
 SET(FEATURE_ARPACK_DEPENDS LAPACK)
 
 CONFIGURE_FEATURE(ARPACK)
+SET(DEAL_II_ARPACK_WITH_PARPACK ARPACK_WITH_PARPACK)
index 20aa69423794d33a1a7273cab6d5ab164d785028..b15a4c722afbf6d3884f0ed4b8a96ceff84a5650 100644 (file)
 #
 #   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
   )
index 297782d727d42388c7858764d6271cacab710530..13684bbf048bc76b3c64f8c221f7fe4cb14acf46 100644 (file)
@@ -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:

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.