return()
endif()
set(MKL_cmake_included true)
+include("cmake/utils.cmake")
+include("cmake/options.cmake")
# set SKIP_THIS_MKL to true if given configuration is not supported
function(maybe_skip_this_mkl LIBNAME)
string(FIND "${MKLLIBPATH}" ${CMAKE_CURRENT_SOURCE_DIR}/external __idx)
if(${__idx} EQUAL 0)
if(WIN32)
- if(MINGW)
- # We need to install *.dll into bin/ instead of lib/.
- install(PROGRAMS ${MKLDLL} DESTINATION bin)
- else()
- install(PROGRAMS ${MKLDLL} DESTINATION lib)
- endif()
+ install(PROGRAMS ${MKLDLL} ${MKLIOMP5DLL}
+ DESTINATION ${CMAKE_INSTALL_BINDIR})
else()
- install(PROGRAMS ${MKLLIB} DESTINATION lib)
- endif()
- if(MKLIOMP5LIB)
- if(WIN32)
- if(MINGW)
- # We need to install *.dll into bin/ instead of lib/.
- install(PROGRAMS ${MKLIOMP5DLL} DESTINATION bin)
- else()
- install(PROGRAMS ${MKLIOMP5DLL} DESTINATION lib)
- endif()
- else()
- install(PROGRAMS ${MKLIOMP5LIB} DESTINATION lib)
- endif()
+ install(PROGRAMS ${MKLLIB} ${MKLIOMP5LIB}
+ DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
endif()
if(WIN32)
# Add paths to DLL to %PATH% on Windows
get_filename_component(MKLDLLPATH "${MKLDLL}" PATH)
- set(CTESTCONFIG_PATH "${CTESTCONFIG_PATH}\;${MKLDLLPATH}")
+ append_to_windows_path_list(CTESTCONFIG_PATH "${MKLDLLPATH}")
set(CTESTCONFIG_PATH "${CTESTCONFIG_PATH}" PARENT_SCOPE)
endif()
set(MKLINC ${MKLINC} PARENT_SCOPE)
set(MKLLIB "${MKLLIB}" PARENT_SCOPE)
set(MKLDLL "${MKLDLL}" PARENT_SCOPE)
+ if(LIBNAME MATCHES "mklml")
+ set(MKLDNN_USES_MKL "MKLML:SHARED" PARENT_SCOPE)
+ else()
+ set(MKLDNN_USES_MKL "FULL:SHARED" PARENT_SCOPE)
+ endif()
set(MKLIOMP5LIB "${MKLIOMP5LIB}" PARENT_SCOPE)
set(MKLIOMP5DLL "${MKLIOMP5DLL}" PARENT_SCOPE)
set(MKLLIB "${MKLLIB}" PARENT_SCOPE)
endfunction()
+set(MKLDNN_USES_MKL "")
detect_mkl("mklml_intel")
detect_mkl("mklml_gnu")
detect_mkl("mklml")
detect_mkl("mkl_rt")
-if (MKLDNN_USE_MKL STREQUAL "FULL:STATIC" AND HAVE_MKL)
- set(MKLDLL "")
- get_filename_component(MKLLIBPATH "${MKLLIB}" PATH)
- set_static_mkl_libs(${MKLLIBPATH})
-endif ()
if(HAVE_MKL)
+ if (MKLDNN_USE_MKL STREQUAL "FULL:STATIC")
+ set(MKLDLL "")
+ get_filename_component(MKLLIBPATH "${MKLLIB}" PATH)
+ set_static_mkl_libs(${MKLLIBPATH})
+ list(APPEND EXTRA_STATIC_LIBS ${MKLLIB})
+ set(MKLDNN_USES_MKL "FULL:STATIC")
+ else()
+ list(APPEND EXTRA_SHARED_LIBS ${MKLLIB})
+ endif()
+
add_definitions(-DUSE_MKL -DUSE_CBLAS)
include_directories(AFTER ${MKLINC})
- list(APPEND mkldnn_LINKER_LIBS ${MKLLIB})
set(MSG "Intel(R) MKL:")
message(STATUS "${MSG} include ${MKLINC}")