瀏覽代碼

FindLAPACK: Additional libraries for MKL+gfortran combination

As per Intel MKL command line advisor, "libdl" is added to the list of
libraries that provide LAPACK functionality. Furthermore, the implicit
link directories are added to the searched libraries to allow finding
of "libgomp".
Jakub Benda 7 年之前
父節點
當前提交
d5f691be0b
共有 1 個文件被更改,包括 6 次插入1 次删除
  1. 6 1
      Modules/FindLAPACK.cmake

+ 6 - 1
Modules/FindLAPACK.cmake

@@ -96,6 +96,9 @@ if (NOT _libdir)
     set(_libdir ENV LD_LIBRARY_PATH)
   endif ()
 endif ()
+
+list(APPEND _libdir "${CMAKE_C_IMPLICIT_LINK_DIRECTORIES}")
+
 foreach(_library ${_list})
   set(_combined_name ${_combined_name}_${_library})
 
@@ -179,6 +182,7 @@ if(BLAS_FOUND)
 if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
   if (NOT WIN32)
     set(LAPACK_mkl_LM "-lm")
+    set(LAPACK_mkl_LDL "-ldl")
   endif ()
   if (CMAKE_C_COMPILER_LOADED OR CMAKE_CXX_COMPILER_LOADED)
     if(LAPACK_FIND_QUIETLY OR NOT LAPACK_FIND_REQUIRED)
@@ -240,7 +244,7 @@ if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
           ""
           "${IT}"
           "${_BLAS_LIBRARIES}"
-          "${CMAKE_THREAD_LIBS_INIT};${LAPACK_mkl_LM}"
+          "${CMAKE_THREAD_LIBS_INIT};${LAPACK_mkl_LM};${LAPACK_mkl_LDL}"
           )
       endif ()
     endforeach ()
@@ -248,6 +252,7 @@ if (BLA_VENDOR MATCHES "Intel" OR BLA_VENDOR STREQUAL "All")
     unset(LAPACK_mkl_ILP_MODE)
     unset(LAPACK_mkl_SEARCH_SYMBOL)
     unset(LAPACK_mkl_LM)
+    unset(LAPACK_mkl_LDL)
   endif ()
 endif()