blob: 02e44fb240bbf2ebb362145d6d8ea95b6745b02b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
--- b/Modules/FindBLAS.cmake
+++ a/Modules/FindBLAS.cmake
@@ -1,3 +1,9 @@
+#
+# Version modified for Gentoo Linux
+# If a valid PkgConfig configuration for blas is found, this overrides and cancels
+# all further checks.
+#
+
# - Find BLAS library
# This module finds an installed fortran library that implements the BLAS
# linear-algebra interface (see http://www.netlib.org/blas/).
@@ -40,6 +46,26 @@
# (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)
@@ -604,3 +630,8 @@
endif()
set(CMAKE_FIND_LIBRARY_SUFFIXES ${_blas_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
+
+
+endif(PC_BLAS_FOUND)
+
+
|