FindOpenCL.cmake 1.63 KB
Newer Older
1

2
3
4
### OPENCL_INCLUDE_DIR ###
# Try OPENCL_DIR variable before looking elsewhere
find_path(OPENCL_INCLUDE_DIR 
5
    NAMES OpenCL/opencl.h CL/opencl.h
6
7
8
9
10
11
    PATHS "$ENV{OPENCL_DIR}"
    PATH_SUFFIXES "include"
    NO_DEFAULT_PATH
)
# As a last resort, look in default include areas and elsewhere
find_path(OPENCL_INCLUDE_DIR 
12
    NAMES OpenCL/opencl.h CL/opencl.h
13
14
15
    PATHS
        "$ENV{CUDA_INC_PATH}"
        "C:/CUDA"
16
        "/usr/local/cuda"
17
        "/usr/local/streamsdk"
18
        "/usr"
19
20
21
22
23
24
    PATH_SUFFIXES "include"
)

### OPENCL_LIBRARY ###
if("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
    set(path_suffixes "lib/x86")
25
    if("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
26
      set(path_suffixes "lib/x86_64")
27
    endif("${CMAKE_SYSTEM_PROCESSOR}" STREQUAL "x86_64")
28
29
30
31
32
33
34
35
36
37
38
39
40
41
endif("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
# First look in OPENCL_DIR variable location
find_library(OPENCL_LIBRARY
    NAMES OpenCL
    PATHS $ENV{OPENCL_DIR} ${OPENCL_LIB_SEARCH_PATH} ""
    PATH_SUFFIXES ${path_suffixes} "lib"
    NO_DEFAULT_PATH
)
# If above fails, look in system default and other locations
find_library(OPENCL_LIBRARY
    NAMES OpenCL
    PATHS
        "$ENV{CUDA_LIB_PATH}"
        "C:/CUDA"
42
        "/usr/local/cuda"
43
        "/usr/local/streamsdk"
44
        "/usr"
45
46
    PATH_SUFFIXES ${path_suffixes} "lib"
)
47

48
find_package_handle_standard_args(OPENCL DEFAULT_MSG OPENCL_LIBRARY OPENCL_INCLUDE_DIR)
49

50
if(OPENCL_FOUND)
51
  set(OPENCL_LIBRARIES ${OPENCL_LIBRARY})
52
53
54
  mark_as_advanced(CLEAR OPENCL_INCLUDE_DIR)
  mark_as_advanced(CLEAR OPENCL_LIBRARY)
else(OPENCL_FOUND)
55
  set(OPENCL_LIBRARIES)
56
57
58
  mark_as_advanced(OPENCL_INCLUDE_DIR)
  mark_as_advanced(OPENCL_LIBRARY)
endif(OPENCL_FOUND)