USER-INTEL.cmake: clean up, create imported targets
This commit is contained in:
@ -10,13 +10,22 @@ find_path(MKL_INCLUDE_DIR mkl_dfti.h HINTS $ENV{MKLROOT}/include)
|
|||||||
|
|
||||||
find_library(MKL_LIBRARY NAMES mkl_rt HINTS $ENV{MKLROOT}/lib $ENV{MKLROOT}/lib/intel64)
|
find_library(MKL_LIBRARY NAMES mkl_rt HINTS $ENV{MKLROOT}/lib $ENV{MKLROOT}/lib/intel64)
|
||||||
|
|
||||||
set(MKL_LIBRARIES ${MKL_LIBRARY})
|
|
||||||
set(MKL_INCLUDE_DIRS ${MKL_INCLUDE_DIR})
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
# handle the QUIETLY and REQUIRED arguments and set MKL_FOUND to TRUE
|
# handle the QUIETLY and REQUIRED arguments and set MKL_FOUND to TRUE
|
||||||
# if all listed variables are TRUE
|
# if all listed variables are TRUE
|
||||||
|
|
||||||
find_package_handle_standard_args(MKL DEFAULT_MSG MKL_LIBRARY MKL_INCLUDE_DIR)
|
find_package_handle_standard_args(MKL DEFAULT_MSG MKL_LIBRARY MKL_INCLUDE_DIR)
|
||||||
|
|
||||||
|
if(MKL_FOUND)
|
||||||
|
set(MKL_LIBRARIES ${MKL_LIBRARY})
|
||||||
|
set(MKL_INCLUDE_DIRS ${MKL_INCLUDE_DIR})
|
||||||
|
|
||||||
|
if(NOT TARGET MKL::MKL)
|
||||||
|
add_library(MKL::MKL UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(MKL::MKL PROPERTIES
|
||||||
|
IMPORTED_LOCATION "${MKL_LIBRARY}"
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${MKL_INCLUDE_DIR}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
mark_as_advanced(MKL_INCLUDE_DIR MKL_LIBRARY )
|
mark_as_advanced(MKL_INCLUDE_DIR MKL_LIBRARY )
|
||||||
|
|||||||
@ -15,13 +15,22 @@ find_library(TBB_MALLOC_LIBRARY NAMES tbbmalloc PATHS $ENV{TBBROOT}/lib/intel64/
|
|||||||
$ENV{TBBROOT}/lib/intel64/gcc4.4
|
$ENV{TBBROOT}/lib/intel64/gcc4.4
|
||||||
$ENV{TBBROOT}/lib/intel64/gcc4.1)
|
$ENV{TBBROOT}/lib/intel64/gcc4.1)
|
||||||
|
|
||||||
set(TBB_MALLOC_LIBRARIES ${TBB_MALLOC_LIBRARY})
|
|
||||||
set(TBB_MALLOC_INCLUDE_DIRS ${TBB_MALLOC_INCLUDE_DIR})
|
|
||||||
|
|
||||||
include(FindPackageHandleStandardArgs)
|
include(FindPackageHandleStandardArgs)
|
||||||
# handle the QUIETLY and REQUIRED arguments and set TBB_MALLOC_FOUND to TRUE
|
# handle the QUIETLY and REQUIRED arguments and set TBB_MALLOC_FOUND to TRUE
|
||||||
# if all listed variables are TRUE
|
# if all listed variables are TRUE
|
||||||
|
|
||||||
find_package_handle_standard_args(TBB_MALLOC DEFAULT_MSG TBB_MALLOC_LIBRARY TBB_MALLOC_INCLUDE_DIR)
|
find_package_handle_standard_args(TBB_MALLOC DEFAULT_MSG TBB_MALLOC_LIBRARY TBB_MALLOC_INCLUDE_DIR)
|
||||||
|
|
||||||
|
if(TBB_MALLOC_FOUND)
|
||||||
|
set(TBB_MALLOC_LIBRARIES ${TBB_MALLOC_LIBRARY})
|
||||||
|
set(TBB_MALLOC_INCLUDE_DIRS ${TBB_MALLOC_INCLUDE_DIR})
|
||||||
|
|
||||||
|
if(NOT TARGET TBB::TBB_MALLOC)
|
||||||
|
add_library(TBB::TBB_MALLOC UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(TBB::TBB_MALLOC PROPERTIES
|
||||||
|
IMPORTED_LOCATION "${TBB_MALLOC_LIBRARY}"
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${TBB_MALLOC_INCLUDE_DIR}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
mark_as_advanced(TBB_MALLOC_INCLUDE_DIR TBB_MALLOC_LIBRARY )
|
mark_as_advanced(TBB_MALLOC_INCLUDE_DIR TBB_MALLOC_LIBRARY )
|
||||||
|
|||||||
@ -44,7 +44,7 @@ if(PKG_USER-INTEL)
|
|||||||
|
|
||||||
find_package(TBB_MALLOC QUIET)
|
find_package(TBB_MALLOC QUIET)
|
||||||
if(TBB_MALLOC_FOUND)
|
if(TBB_MALLOC_FOUND)
|
||||||
target_link_libraries(lammps PRIVATE ${TBB_MALLOC_LIBRARIES})
|
target_link_libraries(lammps PRIVATE TBB::TBB_MALLOC)
|
||||||
else()
|
else()
|
||||||
target_compile_definitions(lammps PRIVATE -DLMP_INTEL_NO_TBB)
|
target_compile_definitions(lammps PRIVATE -DLMP_INTEL_NO_TBB)
|
||||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||||
@ -55,7 +55,7 @@ if(PKG_USER-INTEL)
|
|||||||
find_package(MKL QUIET)
|
find_package(MKL QUIET)
|
||||||
if(MKL_FOUND)
|
if(MKL_FOUND)
|
||||||
target_compile_definitions(lammps PRIVATE -DLMP_USE_MKL_RNG)
|
target_compile_definitions(lammps PRIVATE -DLMP_USE_MKL_RNG)
|
||||||
target_link_libraries(lammps PRIVATE ${MKL_LIBRARIES})
|
target_link_libraries(lammps PRIVATE MKL::MKL)
|
||||||
else()
|
else()
|
||||||
message(STATUS "Pair style dpd/intel will be faster with MKL libraries")
|
message(STATUS "Pair style dpd/intel will be faster with MKL libraries")
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
Reference in New Issue
Block a user