summaryrefslogtreecommitdiff
path: root/infra/cmake/packages/Opencl_HeadersConfig.cmake
blob: ec7c65a739844268ee7fe2943b66d88b9ae47e65 (plain)
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
function(_Opencl_Headers_import)
  nnas_find_package(Opencl_HeadersSource QUIET)

  # NOTE This line prevents multiple definitions of target
  if(TARGET OpenCL_Headers)
    set(Opencl_HeadersSource_DIR ${Opencl_HeadersSource_DIR} PARENT_SCOPE)
    set(Opencl_Headers_FOUND TRUE PARENT_SCOPE)
    return()
  endif(TARGET OpenCL_Headers)

  if(NOT Opencl_HeadersSource_FOUND)
    message(STATUS "Opencl_Headers: Source not found")
    set(Opencl_Headers_FOUND FALSE PARENT_SCOPE)
    return()
  endif(NOT Opencl_HeadersSource_FOUND)

  # We don't need test builds and installs, we only need headers.
  # add_extdirectory("${Opencl_HeadersSource_DIR}" OPENCL_HEADERS EXCLUDE_FROM_ALL)

  add_library(OpenCL_Headers INTERFACE)
  target_include_directories(OpenCL_Headers INTERFACE ${Opencl_HeadersSource_DIR})

  set(Opencl_Headers_DIR ${Opencl_HeadersSource_DIR} PARENT_SCOPE)
  set(Opencl_Headers_FOUND TRUE PARENT_SCOPE)
endfunction(_Opencl_Headers_import)

_Opencl_Headers_import()