055137582c
OPENCLAMDBLAS and OPENCLAMDFFT never detected under linux. lib64/import and lib32/import is the path on Windows but not Linux. for CLAMDBLAS library we should use CLAMDBLAS_PATH (not CLAMDFFT_PATH)
113 lines
3.6 KiB
CMake
113 lines
3.6 KiB
CMake
if(APPLE)
|
|
set(OPENCL_FOUND YES)
|
|
set(OPENCL_LIBRARY "-framework OpenCL" CACHE STRING "OpenCL library")
|
|
set(OPENCL_INCLUDE_DIR "" CACHE STRING "OpenCL include directory")
|
|
mark_as_advanced(OPENCL_INCLUDE_DIR OPENCL_LIBRARY)
|
|
else(APPLE)
|
|
#find_package(OpenCL QUIET)
|
|
|
|
if (NOT OPENCL_FOUND)
|
|
find_path(OPENCL_ROOT_DIR
|
|
NAMES OpenCL/cl.h CL/cl.h include/CL/cl.h include/nvidia-current/CL/cl.h
|
|
PATHS ENV OCLROOT ENV AMDAPPSDKROOT ENV CUDA_PATH ENV INTELOCLSDKROOT
|
|
DOC "OpenCL root directory"
|
|
NO_DEFAULT_PATH)
|
|
|
|
find_path(OPENCL_INCLUDE_DIR
|
|
NAMES OpenCL/cl.h CL/cl.h
|
|
HINTS ${OPENCL_ROOT_DIR}
|
|
PATH_SUFFIXES include include/nvidia-current
|
|
DOC "OpenCL include directory"
|
|
NO_DEFAULT_PATH)
|
|
|
|
if (X86_64)
|
|
set(OPENCL_POSSIBLE_LIB_SUFFIXES lib/Win64 lib/x86_64 lib/x64)
|
|
elseif (X86)
|
|
set(OPENCL_POSSIBLE_LIB_SUFFIXES lib/Win32 lib/x86)
|
|
endif()
|
|
|
|
find_library(OPENCL_LIBRARY
|
|
NAMES OpenCL
|
|
HINTS ${OPENCL_ROOT_DIR}
|
|
PATH_SUFFIXES ${OPENCL_POSSIBLE_LIB_SUFFIXES}
|
|
DOC "OpenCL library"
|
|
NO_DEFAULT_PATH)
|
|
|
|
mark_as_advanced(OPENCL_INCLUDE_DIR OPENCL_LIBRARY)
|
|
include(FindPackageHandleStandardArgs)
|
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OPENCL DEFAULT_MSG OPENCL_LIBRARY OPENCL_INCLUDE_DIR )
|
|
endif()
|
|
endif(APPLE)
|
|
|
|
if(OPENCL_FOUND)
|
|
set(HAVE_OPENCL 1)
|
|
set(OPENCL_INCLUDE_DIRS ${OPENCL_INCLUDE_DIR})
|
|
set(OPENCL_LIBRARIES ${OPENCL_LIBRARY})
|
|
|
|
if(WIN64)
|
|
set(CLAMD_POSSIBLE_LIB_SUFFIXES lib64/import)
|
|
elseif(WIN32)
|
|
set(CLAMD_POSSIBLE_LIB_SUFFIXES lib32/import)
|
|
endif()
|
|
|
|
if(X86_64 AND UNIX)
|
|
set(CLAMD_POSSIBLE_LIB_SUFFIXES lib64)
|
|
elseif(X86 AND UNIX)
|
|
set(CLAMD_POSSIBLE_LIB_SUFFIXES lib32)
|
|
endif()
|
|
|
|
if(WITH_OPENCLAMDFFT)
|
|
find_path(CLAMDFFT_ROOT_DIR
|
|
NAMES include/clAmdFft.h
|
|
PATHS ENV CLAMDFFT_PATH ENV ProgramFiles
|
|
PATH_SUFFIXES clAmdFft AMD/clAmdFft
|
|
DOC "AMD FFT root directory"
|
|
NO_DEFAULT_PATH)
|
|
|
|
find_path(CLAMDFFT_INCLUDE_DIR
|
|
NAMES clAmdFft.h
|
|
HINTS ${CLAMDFFT_ROOT_DIR}
|
|
PATH_SUFFIXES include
|
|
DOC "clAmdFft include directory")
|
|
|
|
find_library(CLAMDFFT_LIBRARY
|
|
NAMES clAmdFft.Runtime
|
|
HINTS ${CLAMDFFT_ROOT_DIR}
|
|
PATH_SUFFIXES ${CLAMD_POSSIBLE_LIB_SUFFIXES}
|
|
DOC "clAmdFft library")
|
|
|
|
if(CLAMDFFT_LIBRARY AND CLAMDFFT_INCLUDE_DIR)
|
|
set(HAVE_CLAMDFFT 1)
|
|
list(APPEND OPENCL_INCLUDE_DIRS "${CLAMDFFT_INCLUDE_DIR}")
|
|
list(APPEND OPENCL_LIBRARIES "${CLAMDFFT_LIBRARY}")
|
|
endif()
|
|
endif()
|
|
|
|
if(WITH_OPENCLAMDBLAS)
|
|
find_path(CLAMDBLAS_ROOT_DIR
|
|
NAMES include/clAmdBlas.h
|
|
PATHS ENV CLAMDBLAS_PATH ENV ProgramFiles
|
|
PATH_SUFFIXES clAmdBlas AMD/clAmdBlas
|
|
DOC "AMD FFT root directory"
|
|
NO_DEFAULT_PATH)
|
|
|
|
find_path(CLAMDBLAS_INCLUDE_DIR
|
|
NAMES clAmdBlas.h
|
|
HINTS ${CLAMDBLAS_ROOT_DIR}
|
|
PATH_SUFFIXES include
|
|
DOC "clAmdFft include directory")
|
|
|
|
find_library(CLAMDBLAS_LIBRARY
|
|
NAMES clAmdBlas
|
|
HINTS ${CLAMDBLAS_ROOT_DIR}
|
|
PATH_SUFFIXES ${CLAMD_POSSIBLE_LIB_SUFFIXES}
|
|
DOC "clAmdBlas library")
|
|
|
|
if(CLAMDBLAS_LIBRARY AND CLAMDBLAS_INCLUDE_DIR)
|
|
set(HAVE_CLAMDBLAS 1)
|
|
list(APPEND OPENCL_INCLUDE_DIRS "${CLAMDBLAS_INCLUDE_DIR}")
|
|
list(APPEND OPENCL_LIBRARIES "${CLAMDBLAS_LIBRARY}")
|
|
endif()
|
|
endif()
|
|
endif()
|