You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
3.0 KiB
87 lines
3.0 KiB
7 years ago
|
From 5f80e42dac5f186d8b5fe9c64d700db26e5753e7 Mon Sep 17 00:00:00 2001
|
||
|
From: Alexander Alekhin <alexander.a.alekhin@gmail.com>
|
||
|
Date: Sat, 28 Oct 2017 02:22:21 +0300
|
||
|
Subject: [PATCH] cmake: update OpenBLAS support
|
||
|
|
||
|
- reorder path HINTS to avoid conflicts with other LAPACK libraries
|
||
|
- add extern "C" { } to avoid generation of C++ symbols
|
||
|
---
|
||
|
cmake/OpenCVFindLAPACK.cmake | 3 ++-
|
||
|
cmake/OpenCVFindOpenBLAS.cmake | 34 +++++++++++++++++-----------------
|
||
|
2 files changed, 19 insertions(+), 18 deletions(-)
|
||
|
|
||
|
diff --git a/cmake/OpenCVFindLAPACK.cmake b/cmake/OpenCVFindLAPACK.cmake
|
||
|
index 6a686c6cdc8..f5fce672568 100644
|
||
|
--- a/cmake/OpenCVFindLAPACK.cmake
|
||
|
+++ b/cmake/OpenCVFindLAPACK.cmake
|
||
|
@@ -31,10 +31,11 @@ macro(ocv_lapack_check)
|
||
|
else()
|
||
|
# adding proxy opencv_lapack.h header
|
||
|
set(CBLAS_H_PROXY_PATH ${CMAKE_BINARY_DIR}/opencv_lapack.h)
|
||
|
- set(_lapack_include_str "\#include \"${OPENCV_CBLAS_H_PATH_${_lapack_impl}}\"")
|
||
|
+ set(_lapack_include_str "extern \"C\" {\n\#include \"${OPENCV_CBLAS_H_PATH_${_lapack_impl}}\"")
|
||
|
if(NOT "${OPENCV_CBLAS_H_PATH_${_lapack_impl}}" STREQUAL "${OPENCV_LAPACKE_H_PATH_${_lapack_impl}}")
|
||
|
set(_lapack_include_str "${_lapack_include_str}\n#include \"${OPENCV_LAPACKE_H_PATH_${_lapack_impl}}\"")
|
||
|
endif()
|
||
|
+ set(_lapack_include_str "${_lapack_include_str}\n}\n")
|
||
|
# update file contents (if required)
|
||
|
set(__content_str "")
|
||
|
if(EXISTS "${CBLAS_H_PROXY_PATH}")
|
||
|
diff --git a/cmake/OpenCVFindOpenBLAS.cmake b/cmake/OpenCVFindOpenBLAS.cmake
|
||
|
index 60594dee46a..ae2daaa194f 100644
|
||
|
--- a/cmake/OpenCVFindOpenBLAS.cmake
|
||
|
+++ b/cmake/OpenCVFindOpenBLAS.cmake
|
||
|
@@ -44,35 +44,35 @@
|
||
|
#license and copyright terms herein.
|
||
|
|
||
|
SET(Open_BLAS_INCLUDE_SEARCH_PATHS
|
||
|
- /usr/include
|
||
|
+ $ENV{OpenBLAS_HOME}
|
||
|
+ $ENV{OpenBLAS_HOME}/include
|
||
|
+ /opt/OpenBLAS/include
|
||
|
+ /usr/local/include/openblas
|
||
|
/usr/include/openblas
|
||
|
+ /usr/local/include/openblas-base
|
||
|
/usr/include/openblas-base
|
||
|
/usr/local/include
|
||
|
- /usr/local/include/openblas
|
||
|
- /usr/local/include/openblas-base
|
||
|
- /opt/OpenBLAS/include
|
||
|
- $ENV{OpenBLAS_HOME}
|
||
|
- $ENV{OpenBLAS_HOME}/include
|
||
|
+ /usr/include
|
||
|
)
|
||
|
|
||
|
SET(Open_BLAS_LIB_SEARCH_PATHS
|
||
|
- /lib/
|
||
|
- /lib/openblas-base
|
||
|
- /lib64/
|
||
|
- /usr/lib
|
||
|
- /usr/lib/openblas-base
|
||
|
- /usr/lib64
|
||
|
- /usr/local/lib
|
||
|
- /usr/local/lib64
|
||
|
- /opt/OpenBLAS/lib
|
||
|
$ENV{OpenBLAS}cd
|
||
|
$ENV{OpenBLAS}/lib
|
||
|
$ENV{OpenBLAS_HOME}
|
||
|
$ENV{OpenBLAS_HOME}/lib
|
||
|
+ /opt/OpenBLAS/lib
|
||
|
+ /usr/local/lib64
|
||
|
+ /usr/local/lib
|
||
|
+ /lib/openblas-base
|
||
|
+ /lib64/
|
||
|
+ /lib/
|
||
|
+ /usr/lib/openblas-base
|
||
|
+ /usr/lib64
|
||
|
+ /usr/lib
|
||
|
)
|
||
|
|
||
|
-FIND_PATH(OpenBLAS_INCLUDE_DIR NAMES cblas.h PATHS ${Open_BLAS_INCLUDE_SEARCH_PATHS})
|
||
|
-FIND_LIBRARY(OpenBLAS_LIB NAMES openblas PATHS ${Open_BLAS_LIB_SEARCH_PATHS})
|
||
|
+FIND_PATH(OpenBLAS_INCLUDE_DIR NAMES cblas.h PATHS ${Open_BLAS_INCLUDE_SEARCH_PATHS} NO_DEFAULT_PATH)
|
||
|
+FIND_LIBRARY(OpenBLAS_LIB NAMES openblas PATHS ${Open_BLAS_LIB_SEARCH_PATHS} NO_DEFAULT_PATH)
|
||
|
|
||
|
SET(OpenBLAS_FOUND ON)
|
||
|
|