Simplify MKL link.

git-svn-id: https://subversion.assembla.com/svn/qmcdev/trunk@5509 e5b18d87-469d-4833-9cc0-8cdfa06e9491
This commit is contained in:
Jeongnim Kim 2012-05-28 16:47:22 +00:00
parent e05f99f601
commit 9bf07712b0
1 changed files with 19 additions and 21 deletions

View File

@ -37,44 +37,42 @@ if(${CMAKE_C_COMPILER} MATCHES "icc")
if(mkl_home MATCHES "mkl")
#default MKL libraries
set(mkl_libs "mkl_lapack;mkl;guide")
STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" MKL_VERSION ${mkl_home})
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64")
SET(MKLPATH ${mkl_home}}/lib/em64t)
if(${MKL_VERSION} MATCHES "10\\.2\\.[0-4]")
set(mkl_libs "mkl_intel_lp64;mkl_sequential;mkl_core;mkl_solver_lp64_sequential")
endif(${MKL_VERSION} MATCHES "10\\.2\\.[0-4]")
endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64")
if(${MKL_VERSION} MATCHES "10\\.3\\.[0-4]")
link_libraries(-L${mkl_home}/lib/intel64 -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm)
else()
if(${MKL_VERSION} MATCHES "10\\.[0-2]\\.[0-4]")
link_libraries(-L${mkl_home}/lib/em64t -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -lpthread -lm)
else()
link_libraries(-L${mkl_home}/lib/em64t -lmkl_lapack -lmkl -lguide)
endif()
endif()
endif()
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "i386")
SET(MKLPATH ${mkl_home}/lib/32)
endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "i386")
if(${MKL_VERSION} MATCHES "10\\.[0-3]\\.[0-4]")
link_libraries(-L${mkl_home}/lib/ia32 -lmkl_intel -lmkl_sequential -lmkl_core -lpthread -lm)
else()
link_libraries(-L${mkl_home}/lib/ia32 -lmkl_lapack -lmkl -lguide)
endif()
endif()
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "ia64")
SET(MKLPATH ${mkl_home}/lib/64)
link_libraries(-L${mkl_home}/lib/64 -lmkl_lapack -lmkl -lguide)
endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "ia64")
SET(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -L${MKLPATH}")
if(${MKL_VERSION} MATCHES "10\\.0\\.[0-2]")
link_libraries(${MKLPATH}/libmkl_lapack.a -lmkl -lguide)
else(${MKL_VERSION} MATCHES "10\\.0\\.[0-2]")
foreach(alib ${mkl_libs})
link_libraries(${alib})
endforeach()
endif(${MKL_VERSION} MATCHES "10\\.0\\.[0-2]")
set(LAPACK_FOUND TRUE)
set(BLAS_FOUND TRUE)
set(MKL_FOUND TRUE)
FIND_PATH(MKL_INCLUDE_DIR mkl.h $ENV{MKL_HOME}/include)
FIND_PATH(MKL_INCLUDE_DIR mkl.h ${mkl_home}/include)
if(MKL_INCLUDE_DIR)
MESSAGE(STATUS "Header files of MKL libraries are found at " ${MKL_INCLUDE_DIR})
INCLUDE_DIRECTORIES(${MKL_INCLUDE_DIR})
set(HAVE_MKL TRUE)
find_file(mkl_vml_file mkl_vml.h $ENV{MKL_HOME}/include)
find_file(mkl_vml_file mkl_vml.h ${mkl_home}/include)
if(mkl_vml_file)
set(HAVE_MKL_VML TRUE)
endif(mkl_vml_file)