diff options
Diffstat (limited to 'dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch')
-rw-r--r-- | dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch b/dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch new file mode 100644 index 000000000000..86c5dc7fd54a --- /dev/null +++ b/dev-util/cmake/files/cmake-3.0.0-FindBLAS.patch @@ -0,0 +1,43 @@ +--- Modules/FindBLAS.cmake ++++ Modules/FindBLAS.cmake +@@ -4,6 +4,10 @@ + # + # Find BLAS 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 + # BLAS linear-algebra interface (see http://www.netlib.org/blas/). The + # list of libraries searched for is taken from the autoconf macro file, +@@ -50,6 +54,23 @@ + # (To distribute this file outside of CMake, substitute the full + # License text for the above reference.) + ++# first, try PkgConfig ++# ++find_package(PkgConfig REQUIRED) ++pkg_check_modules(PC_BLAS blas) ++if(PC_BLAS_FOUND) ++ foreach(PC_LIB ${PC_BLAS_LIBRARIES}) ++ find_library(${PC_LIB}_LIBRARY NAMES ${PC_LIB} HINTS ${PC_BLAS_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_BLAS_LIBRARY_DIRS}") ++ endif (NOT ${PC_LIB}_LIBRARY) ++ list(APPEND BLAS_LIBRARIES ${${PC_LIB}_LIBRARY}) ++ endforeach(PC_LIB) ++ find_package_handle_standard_args(BLAS DEFAULT_MSG BLAS_LIBRARIES) ++ mark_as_advanced(BLAS_LIBRARIES) ++else(PC_BLAS_FOUND) ++message(STATUS "No PkgConfig configuration for BLAS found; starting more extensive search.") ++ + include(${CMAKE_CURRENT_LIST_DIR}/CheckFunctionExists.cmake) + include(${CMAKE_CURRENT_LIST_DIR}/CheckFortranFunctionExists.cmake) + +@@ -688,3 +709,5 @@ + endif() + + set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES}) ++ ++endif(PC_BLAS_FOUND) |