summaryrefslogtreecommitdiff
path: root/dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch')
-rw-r--r--dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch b/dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch
new file mode 100644
index 00000000000..611c5ceb94f
--- /dev/null
+++ b/dev-util/cmake/files/cmake-3.0.0-FindLAPACK.patch
@@ -0,0 +1,44 @@
+--- Modules/FindLAPACK.cmake
++++ Modules/FindLAPACK.cmake
+@@ -4,6 +4,10 @@
+ #
+ # Find LAPACK library
+ #
++# Version modified for Gentoo Linux.
++# If a valid PkgConfig configuration is found, this overrides and cancels
++# all further checks.
++#
+ # This module finds an installed fortran library that implements the
+ # LAPACK linear-algebra interface (see http://www.netlib.org/lapack/).
+ #
+@@ -72,6 +76,24 @@
+ # N.B. _prefix is the prefix applied to the names of all cached variables that
+ # are generated internally and marked advanced by this macro.
+
++#
++# first, try PkgConfig
++#
++find_package(PkgConfig REQUIRED)
++pkg_check_modules(PC_LAPACK lapack)
++if(PC_LAPACK_FOUND)
++ foreach(PC_LIB ${PC_LAPACK_LIBRARIES})
++ find_library(${PC_LIB}_LIBRARY NAMES ${PC_LIB} HINTS ${PC_LAPACK_LIBRARY_DIRS} )
++ if (NOT ${PC_LIB}_LIBRARY)
++ message(FATAL_ERROR "Something is wrong in your pkg-config file - lib ${PC_LIB} not found in ${PC_LAPACK_LIBRARY_DIRS}")
++ endif (NOT ${PC_LIB}_LIBRARY)
++ list(APPEND LAPACK_LIBRARIES ${${PC_LIB}_LIBRARY})
++ endforeach(PC_LIB)
++ find_package_handle_standard_args(LAPACK DEFAULT_MSG LAPACK_LIBRARIES)
++ mark_as_advanced(LAPACK_LIBRARIES)
++else(PC_LAPACK_FOUND)
++message(STATUS "No PkgConfig configuration for LAPACK found; starting more extensive search.")
++
+ set(_libraries_work TRUE)
+ set(${LIBRARIES})
+ set(_combined_name)
+@@ -348,3 +370,5 @@
+ endif()
+
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ${_lapack_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
++
++endif(PC_LAPACK_FOUND)