]> https://gitweb.dealii.org/ - dealii.git/commitdiff
CMake: Fix link interface for static blas/lapack
authorMatthias Maier <tamiko@kyomu.43-1.org>
Thu, 11 Jul 2013 14:21:04 +0000 (14:21 +0000)
committerMatthias Maier <tamiko@kyomu.43-1.org>
Thu, 11 Jul 2013 14:21:04 +0000 (14:21 +0000)
git-svn-id: https://svn.dealii.org/trunk@29966 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/cmake/configure/configure_1_lapack.cmake

index 6445f6b1f1e6a5771a0663ae26af2bb3a5ba9889..00f92171e7c1f94b83f5ae92f97a2ee6757b1660 100644 (file)
 MACRO(FEATURE_LAPACK_FIND_EXTERNAL var)
   FIND_PACKAGE(LAPACK)
 
+  #
+  # Well, in case of static archives we have to manually pick up the
+  # complete link interface. *sigh*
+  #
+  # Do this unconditionally for the most common case:
+  # TODO: Non-GNU setups...
+  #
+  IF(NOT m_lib MATCHES "-NOTFOUND")
+    LIST(APPEND LAPACK_LIBRARIES ${m_lib})
+  ENDIF()
+
+  ENABLE_IF_LINKS(LAPACK_LINKER_FLAGS "-lgfortran")
+  ENABLE_IF_LINKS(LAPACK_LINKER_FLAGS "-lquadmath")
+
   IF(LAPACK_FOUND)
     MARK_AS_ADVANCED(
       atlas_LIBRARY
@@ -52,15 +66,6 @@ SET(DEAL_II_LAPACK_FUNCTIONS
 
 MACRO(CHECK_FOR_LAPACK_FUNCTIONS)
   SET(CMAKE_REQUIRED_LIBRARIES ${LAPACK_LIBRARIES})
-  #
-  # For some static lapack versions it is necessary to link with -lm.
-  # So link with it as well if -lm is already present in our link
-  # interface:
-  #
-  IF(NOT m_lib MATCHES "-NOTFOUND")
-    LIST(APPEND CMAKE_REQUIRED_LIBRARIES ${m_lib})
-  ENDIF()
-
   ADD_FLAGS(CMAKE_REQUIRED_FLAGS "${LAPACK_LINKER_FLAGS}")
 
   FOREACH(_func ${DEAL_II_LAPACK_FUNCTIONS})

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.