1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
# Search for OpenCL header and librariy
#
# It will set
# OPENCL_FOUND - system has OpenCL
# OPENCL_INCLUDE_DIR - the OpenCL include directory
# OPENCL_LIBRARY - link these to use OpenCL
#
IF(WIN32)
# search for AMD/nVidia/Intel SDK with OpenCL headers and lib
SET(CL_INCLUDE_PREFIX "CL")
FIND_PATH(OPENCL_INCLUDE_DIR
NAMES
CL/cl.hpp
PATHS
$ENV{AMDAPPSDKROOT}/include
$ENV{INTELOCLSDKROOT}/include
$ENV{NVSDKCOMPUTE_ROOT}/OpenCL/common/inc
)
IF(CMAKE_SIZEOF_VOID_P EQUAL 4)
# 32 bit libs
SET(OPENCL_LIB_SEARCH_PATH
${OPENCL_LIB_SEARCH_PATH}
$ENV{AMDAPPSDKROOT}/lib/x86
$ENV{INTELOCLSDKROOT}/lib/x86
$ENV{NVSDKCOMPUTE_ROOT}/OpenCL/common/lib/Win32
)
ELSEIF(CMAKE_SIZEOF_VOID_P EQUAL 8)
# 64 bit libs
SET(OPENCL_LIB_SEARCH_PATH
${OPENCL_LIB_SEARCH_PATH}
$ENV{AMDAPPSDKROOT}/lib/x86_64
$ENV{INTELOCLSDKROOT}/lib/x64
$ENV{NVSDKCOMPUTE_ROOT}/OpenCL/common/lib/x64
)
ENDIF(CMAKE_SIZEOF_VOID_P EQUAL 4)
FIND_LIBRARY(
OPENCL_LIBRARY
NAMES OpenCL
PATHS ${OPENCL_LIB_SEARCH_PATH}
)
ELSE(WIN32)
IF(APPLE)
SET(CL_INCLUDE_PREFIX "OpenCL")
ELSE()
SET(CL_INCLUDE_PREFIX "CL")
ENDIF()
FIND_PATH(OPENCL_INCLUDE_DIR
NAMES
${CL_INCLUDE_PREFIX}/cl.h
PATHS
/usr/local/include
/usr/include
"/usr/local/cuda/include"
)
FIND_LIBRARY(OPENCL_LIBRARY
NAMES
OpenCL CL clparser
PATHS
/usr/local/lib
/usr/lib
)
ENDIF(WIN32)
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenCL DEFAULT_MSG OPENCL_LIBRARY OPENCL_INCLUDE_DIR)
IF(OPENCL_FOUND)
STRING(TOUPPER ${CL_INCLUDE_PREFIX} _INC_PREFIX)
SET(HAVE_${_INC_PREFIX}_CL_HPP 1)
ENDIF()
MARK_AS_ADVANCED(OPENCL_INCLUDE_DIR OPENCL_LIBRARY)
|