CLAHE Python bindings
[profile/ivi/opencv.git] / cmake / OpenCVDetectOpenCL.cmake
1 if(APPLE)
2   set(OPENCL_FOUND YES)
3   set(OPENCL_LIBRARY "-framework OpenCL" CACHE STRING "OpenCL library")
4   set(OPENCL_INCLUDE_DIR "" CACHE STRING "OpenCL include directory")
5   mark_as_advanced(OPENCL_INCLUDE_DIR OPENCL_LIBRARY)
6 else(APPLE)
7   #find_package(OpenCL QUIET)
8
9   if (NOT OPENCL_FOUND)
10     find_path(OPENCL_ROOT_DIR
11               NAMES OpenCL/cl.h CL/cl.h include/CL/cl.h include/nvidia-current/CL/cl.h
12               PATHS ENV OCLROOT ENV AMDAPPSDKROOT ENV CUDA_PATH ENV INTELOCLSDKROOT
13               DOC "OpenCL root directory"
14               NO_DEFAULT_PATH)
15
16     find_path(OPENCL_INCLUDE_DIR
17               NAMES OpenCL/cl.h CL/cl.h
18               HINTS ${OPENCL_ROOT_DIR}
19               PATH_SUFFIXES include include/nvidia-current
20               DOC "OpenCL include directory"
21               NO_DEFAULT_PATH)
22
23     if (X86_64)
24       set(OPENCL_POSSIBLE_LIB_SUFFIXES lib/Win64 lib/x86_64 lib/x64)
25     elseif (X86)
26       set(OPENCL_POSSIBLE_LIB_SUFFIXES lib/Win32 lib/x86)
27     endif()
28
29     find_library(OPENCL_LIBRARY
30               NAMES OpenCL
31               HINTS ${OPENCL_ROOT_DIR}
32               PATH_SUFFIXES ${OPENCL_POSSIBLE_LIB_SUFFIXES}
33               DOC "OpenCL library"
34               NO_DEFAULT_PATH)
35
36     mark_as_advanced(OPENCL_INCLUDE_DIR OPENCL_LIBRARY)
37     include(FindPackageHandleStandardArgs)
38     FIND_PACKAGE_HANDLE_STANDARD_ARGS(OPENCL DEFAULT_MSG OPENCL_LIBRARY OPENCL_INCLUDE_DIR )
39   endif()
40 endif(APPLE)
41
42 if(OPENCL_FOUND)
43   set(HAVE_OPENCL 1)
44   set(OPENCL_INCLUDE_DIRS ${OPENCL_INCLUDE_DIR})
45   set(OPENCL_LIBRARIES    ${OPENCL_LIBRARY})
46
47   if(WIN64)
48     set(CLAMD_POSSIBLE_LIB_SUFFIXES lib64/import)
49   elseif(WIN32)
50     set(CLAMD_POSSIBLE_LIB_SUFFIXES lib32/import)
51   endif()
52
53   if(X86_64 AND UNIX)
54     set(CLAMD_POSSIBLE_LIB_SUFFIXES lib64)
55   elseif(X86 AND UNIX)
56     set(CLAMD_POSSIBLE_LIB_SUFFIXES lib32)
57   endif()
58
59   if(WITH_OPENCLAMDFFT)
60     find_path(CLAMDFFT_ROOT_DIR
61               NAMES include/clAmdFft.h
62               PATHS ENV CLAMDFFT_PATH ENV ProgramFiles
63               PATH_SUFFIXES clAmdFft AMD/clAmdFft
64               DOC "AMD FFT root directory"
65               NO_DEFAULT_PATH)
66
67     find_path(CLAMDFFT_INCLUDE_DIR
68               NAMES clAmdFft.h
69               HINTS ${CLAMDFFT_ROOT_DIR}
70               PATH_SUFFIXES include
71               DOC "clAmdFft include directory")
72
73     find_library(CLAMDFFT_LIBRARY
74               NAMES clAmdFft.Runtime
75               HINTS ${CLAMDFFT_ROOT_DIR}
76               PATH_SUFFIXES ${CLAMD_POSSIBLE_LIB_SUFFIXES}
77               DOC "clAmdFft library")
78
79     if(CLAMDFFT_LIBRARY AND CLAMDFFT_INCLUDE_DIR)
80       set(HAVE_CLAMDFFT 1)
81       list(APPEND OPENCL_INCLUDE_DIRS "${CLAMDFFT_INCLUDE_DIR}")
82       list(APPEND OPENCL_LIBRARIES    "${CLAMDFFT_LIBRARY}")
83     endif()
84   endif()
85
86   if(WITH_OPENCLAMDBLAS)
87     find_path(CLAMDBLAS_ROOT_DIR
88               NAMES include/clAmdBlas.h
89               PATHS ENV CLAMDBLAS_PATH ENV ProgramFiles
90               PATH_SUFFIXES clAmdBlas AMD/clAmdBlas
91               DOC "AMD FFT root directory"
92               NO_DEFAULT_PATH)
93
94     find_path(CLAMDBLAS_INCLUDE_DIR
95               NAMES clAmdBlas.h
96               HINTS ${CLAMDBLAS_ROOT_DIR}
97               PATH_SUFFIXES include
98               DOC "clAmdFft include directory")
99
100     find_library(CLAMDBLAS_LIBRARY
101               NAMES clAmdBlas
102               HINTS ${CLAMDBLAS_ROOT_DIR}
103               PATH_SUFFIXES ${CLAMD_POSSIBLE_LIB_SUFFIXES}
104               DOC "clAmdBlas library")
105
106     if(CLAMDBLAS_LIBRARY AND CLAMDBLAS_INCLUDE_DIR)
107       set(HAVE_CLAMDBLAS 1)
108       list(APPEND OPENCL_INCLUDE_DIRS "${CLAMDBLAS_INCLUDE_DIR}")
109       list(APPEND OPENCL_LIBRARIES    "${CLAMDBLAS_LIBRARY}")
110     endif()
111   endif()
112 endif()