summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Benda <jacob.benda@gmail.com>2018-11-04 17:16:32 +0000
committerBrad King <brad.king@kitware.com>2018-11-05 08:00:02 -0500
commitf1a3e4eca8310e8357a1fe0c0bfe75021952b874 (patch)
tree631182107793f3cdad3cc04bbffb175d979e9073
parent970b18e9a5dca2c5bb6d1ecc79f3f9d1c727d641 (diff)
downloadcmake-f1a3e4eca8310e8357a1fe0c0bfe75021952b874.tar.gz
FindLAPACK: Correct library name and symbol searched in LAPACK95 wrapper
The symbol "CHEEV", originally used to determine if a library provides Fortran 95 wrappers for LAPACK, has been replaced by "cheev_f95". "CHEEV" is provided by libmkl_intel_(i)lp64, which does not provide the generic Fortran 95 wrappers. Instead, libmkl_lapack95_(i)lp64 does; one of the specializations of the type-generic interfaces contained in that library is "lapack_f95". Also, FindLAPACK used libmkl_intel_(i)lp64 instead of the correct libmkl_lapack95_(i)lp64 library for LAPACK95 functionality. This has been fixed, too.
-rw-r--r--Modules/FindLAPACK.cmake4
1 files changed, 2 insertions, 2 deletions
diff --git a/Modules/FindLAPACK.cmake b/Modules/FindLAPACK.cmake
index 7ca9950e5e..2c6145afb5 100644
--- a/Modules/FindLAPACK.cmake
+++ b/Modules/FindLAPACK.cmake
@@ -287,7 +287,7 @@ if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
set(LAPACK_SEARCH_LIBS "")
if (BLA_F95)
- set(LAPACK_mkl_SEARCH_SYMBOL "CHEEV")
+ set(LAPACK_mkl_SEARCH_SYMBOL "cheev_f95")
set(_LIBRARIES LAPACK95_LIBRARIES)
set(_BLAS_LIBRARIES ${BLAS95_LIBRARIES})
@@ -298,7 +298,7 @@ if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
list(APPEND LAPACK_SEARCH_LIBS
"mkl_intel_c")
list(APPEND LAPACK_SEARCH_LIBS
- "mkl_intel_${BLAS_mkl_ILP_MODE}")
+ "mkl_lapack95_${BLAS_mkl_ILP_MODE}")
else()
set(LAPACK_mkl_SEARCH_SYMBOL "cheev")
set(_LIBRARIES LAPACK_LIBRARIES)