FindLAPACK: MKL clean up and fix for windows

This commit is contained in:
Leszek Swirski 2013-10-08 15:47:42 +01:00
parent 46c7bcaf96
commit 192a9182f8
1 changed files with 52 additions and 48 deletions

View File

@ -229,57 +229,61 @@ if (BLA_VENDOR MATCHES "Intel*" OR BLA_VENDOR STREQUAL "All")
else() else()
find_package(Threads REQUIRED) find_package(Threads REQUIRED)
endif() endif()
set(LAPACK_SEARCH_LIBS "")
if (BLA_F95) if (BLA_F95)
if(NOT LAPACK95_LIBRARIES) set(LAPACK_mkl_SEARCH_SYMBOL "CHEEV")
# old set(_LIBRARIES LAPACK95_LIBRARIES)
check_lapack_libraries( set(_BLAS_LIBRARIES ${BLAS95_LIBRARIES})
LAPACK95_LIBRARIES
LAPACK # old
cheev list(APPEND LAPACK_SEARCH_LIBS
"" "mkl_lapack95")
"mkl_lapack95" # new >= 10.3
"${BLAS95_LIBRARIES}" list(APPEND LAPACK_SEARCH_LIBS
"${CMAKE_THREAD_LIBS_INIT};${LM}" "mkl_intel_c")
) list(APPEND LAPACK_SEARCH_LIBS
endif() "mkl_intel_lp64")
if(NOT LAPACK95_LIBRARIES)
# new >= 10.3
check_lapack_libraries(
LAPACK95_LIBRARIES
LAPACK
CHEEV
""
"mkl_intel_lp64"
"${BLAS95_LIBRARIES}"
"${CMAKE_THREAD_LIBS_INIT};${LM}"
)
endif()
else() else()
if(NOT LAPACK_LIBRARIES) set(LAPACK_mkl_SEARCH_SYMBOL "cheev")
# old set(_LIBRARIES LAPACK_LIBRARIES)
check_lapack_libraries( set(_BLAS_LIBRARIES ${BLAS_LIBRARIES})
LAPACK_LIBRARIES
LAPACK # old
cheev list(APPEND LAPACK_SEARCH_LIBS
"" "mkl_lapack")
"mkl_lapack" # new >= 10.3
"${BLAS_LIBRARIES}" list(APPEND LAPACK_SEARCH_LIBS
"${CMAKE_THREAD_LIBS_INIT};${LM}" "mkl_gf_lp64")
)
endif()
if(NOT LAPACK_LIBRARIES)
# new >= 10.3
check_lapack_libraries(
LAPACK_LIBRARIES
LAPACK
cheev
""
"mkl_gf_lp64"
"${BLAS_LIBRARIES}"
"${CMAKE_THREAD_LIBS_INIT};${LM}"
)
endif()
endif() endif()
# First try empty lapack libs
if (NOT ${_LIBRARIES})
check_lapack_libraries(
${_LIBRARIES}
BLAS
${LAPACK_mkl_SEARCH_SYMBOL}
""
""
"${_BLAS_LIBRARIES}"
"${CMAKE_THREAD_LIBS_INIT};${LM}"
)
endif ()
# Then try the search libs
foreach (IT ${LAPACK_SEARCH_LIBS})
if (NOT ${_LIBRARIES})
check_lapack_libraries(
${_LIBRARIES}
BLAS
${LAPACK_mkl_SEARCH_SYMBOL}
""
"${IT}"
"${_BLAS_LIBRARIES}"
"${CMAKE_THREAD_LIBS_INIT};${LM}"
)
endif ()
endforeach ()
endif () endif ()
endif() endif()
else() else()