]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Bugfix: Avoid underlinkage due to missing cholmod link interface
authormaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 22 Nov 2012 13:14:41 +0000 (13:14 +0000)
committermaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Thu, 22 Nov 2012 13:14:41 +0000 (13:14 +0000)
git-svn-id: https://svn.dealii.org/branches/branch_cmake@27669 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/cmake/modules/FindUMFPACK.cmake

index d306e555deacb0c359aefa857f17624ef8eae815..25233b13138b5184c712618f08648b9c6cf7748d 100644 (file)
@@ -47,7 +47,6 @@ FIND_LIBRARY(UMFPACK_LIBRARY
     lib${LIB_SUFFIX} lib64 lib Lib UMFPACK/Lib
   )
 
-
 SET(required_variables
   BLAS_FOUND
   AMD_FOUND
@@ -55,6 +54,7 @@ SET(required_variables
   UMFPACK_LIBRARY
   )
 
+
 #
 # Well, recent versions of UMFPACK >= 5.6 include SuiteSparse_config.h, if so,
 # ensure that we'll find these headers as well.
@@ -73,8 +73,25 @@ ENDIF()
 # Otherwise, we're lazy for the moment.
 #
 
+
+#
+# UMFPACK may need to be linked with cholmod as well.
+#
+FIND_LIBRARY(CHOLMOD_LIBRARY
+  NAMES cholmod
+  HINTS
+    ${UMFPACK_DIR}
+  PATH_SUFFIXES
+    lib${LIB_SUFFIX} lib64 lib Lib UMFPACK/Lib
+  )
+IF(NOT CHOLMOD_LIBRARY MATCHES "-NOTFOUND")
+  SET(CHOLMOD_LIBRARY)
+ENDIF()
+
+
 SET(UMFPACK_LIBRARIES
   ${UMFPACK_LIBRARY}
+  ${CHOLMOD_LIBRARY} # may be empty
   ${AMD_LIBRARY}
   ${SUITESPARSECONFIG_LIBRARY} # may be empty
   ${BLAS_LIBRARIES}
@@ -90,6 +107,7 @@ SET(UMFPACK_LINKER_FLAGS
   ${BLAS_LINKER_FLAGS}
   )
 
+
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(UMFPACK DEFAULT_MSG ${required_variables})
 
 IF(UMFPACK_FOUND)
@@ -97,6 +115,7 @@ IF(UMFPACK_FOUND)
     UMFPACK_LIBRARY
     UMFPACK_INCLUDE_DIR
     UMFPACK_DIR
+    CHOLMOD_LIBRARY
     atlas_LIBRARY
     blas_LIBRARY
   )

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.