# Find the Intel IPP (Integrated Performance Primitives) # # IPP_FOUND - System has IPP # IPP_INCLUDE_DIRS - IPP include files directories # IPP_LIBRARIES - The IPP libraries # # The environment variable IPPROOT is used to find the installation location. # If the environment variable is not set we'll look for it in the default installation locations. # # Usage: # # find_package(IPP) # if(IPP_FOUND) # target_link_libraries(TARGET ${IPP_LIBRARIES}) # endif() find_path(IPP_ROOT_DIR include/ipp.h PATHS $ENV{IPPROOT} /opt/intel/compilers_and_libraries/linux/ipp /opt/intel/compilers_and_libraries/mac/ipp "C:/IntelSWTools/compilers_and_libraries/windows/ipp/" "C:/Program Files (x86)/IntelSWTools/compilers_and_libraries/windows/ipp" $ENV{HOME}/intel/ipp $ENV{HOME}/miniconda3 $ENV{USERPROFILE}/miniconda3/Library "C:/Miniconda37-x64/Library" # Making AppVeyor happy ) find_path(IPP_INCLUDE_DIR ipp.h PATHS ${IPP_ROOT_DIR}/include ) if(WIN32) set(IPP_SEARCH_LIB ippcoremt.lib) set(IPP_LIBS ippcoremt.lib ippsmt.lib ippdcmt.lib) elseif(APPLE) set(IPP_SEARCH_LIB libippcore.a) set(IPP_LIBS libipps.a libippdc.a libippcore.a) else() # Linux set(IPP_SEARCH_LIB libippcore.so) set(IPP_LIBS ipps ippdc ippcore) endif() find_path(IPP_LIB_SEARCHPATH ${IPP_SEARCH_LIB} PATHS ${IPP_ROOT_DIR}/lib/intel64 ${IPP_ROOT_DIR}/lib ) foreach(LIB ${IPP_LIBS}) find_library(${LIB}_PATH ${LIB} PATHS ${IPP_LIB_SEARCHPATH}) if(${LIB}_PATH) set(IPP_LIBRARIES ${IPP_LIBRARIES} ${${LIB}_PATH}) set(IPP_FOUND TRUE) else() # message(STATUS "Could not find ${LIB}: disabling IPP") set(IPP_NOTFOUND TRUE) endif() endforeach() if(IPP_FOUND AND NOT IPP_NOTFOUND) set(IPP_INCLUDE_DIRS ${IPP_INCLUDE_DIR}) include_directories(${IPP_INCLUDE_DIRS}) message(STATUS "Found IPP libraries in: ${IPP_LIBRARIES}") else() message(STATUS "No IPP libraries found.") set(IPP_FOUND FALSE) endif()