Rely on find_package(OpenCL) (#18541)

This commit is contained in:
Ilya Lavrenov 2023-07-13 23:11:32 +04:00 committed by GitHub
parent 82fe1677d0
commit 7b5acbb29a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -69,39 +69,13 @@ endif()
if(ENABLE_INTEL_GPU) if(ENABLE_INTEL_GPU)
if(ENABLE_SYSTEM_OPENCL) if(ENABLE_SYSTEM_OPENCL)
# try to find system OpenCL: # try to find system OpenCL:
# - 'brew install opencl-icd-loader' # - 'apt-get install opencl-headers ocl-icd-opencl-dev'
# - 'conan install opencl-icd-loader' # - 'yum install ocl-icd-devel opencl-headers'
find_package(OpenCLICDLoader QUIET) # - 'conda install khronos-opencl-icd-loader -c conda-forge'
# - 'vcpkg install opencl:<triplet>'
if(OpenCLICDLoader_FOUND) # - 'conan install opencl-headers opencl-clhpp-headers opencl-icd-loader'
# examples: # - 'brew install opencl-headers opencl-clhpp-headers opencl-icd-loader'
# - 'brew install opencl-headers' find_package(OpenCL QUIET)
# - 'conan install opencl-headers'
find_package(OpenCLHeaders QUIET)
if(NOT OpenCLHeaders_FOUND)
message(WARNING "OpenCLHeaders not found, but OpenCLICDLoader is installed. Please, install OpenCL headers")
else()
set_property(TARGET OpenCL::OpenCL APPEND PROPERTY INTERFACE_LINK_LIBRARIES OpenCL::Headers)
endif()
# examples:
# - 'brew install opencl-clhpp-headers'
# - 'conan install opencl-clhpp-headers'
find_package(OpenCLHeadersCpp QUIET)
if(NOT OpenCLHeadersCpp_FOUND)
message(WARNING "OpenCLHeadersCpp not found, but OpenCLICDLoader is installed. Please, install OpenCL C++ headers")
else()
get_target_property(opencl_cpp_include_dirs OpenCL::HeadersCpp INTERFACE_INCLUDE_DIRECTORIES)
set_property(TARGET OpenCL::OpenCL APPEND PROPERTY INTERFACE_LINK_LIBRARIES OpenCL::HeadersCpp)
endif()
else()
# try to find system OpenCL:
# - 'apt-get install opencl-headers ocl-icd-opencl-dev'
# - 'yum install ocl-icd-devel opencl-headers'
# - 'conda install khronos-opencl-icd-loader -c conda-forge'
# - 'vcpkg install opencl:<triplet>'
find_package(OpenCL QUIET)
endif()
endif() endif()
if(TARGET OpenCL::OpenCL) if(TARGET OpenCL::OpenCL)
@ -124,18 +98,6 @@ if(ENABLE_INTEL_GPU)
set_target_properties(OpenCL::OpenCL PROPERTIES set_target_properties(OpenCL::OpenCL PROPERTIES
INTERFACE_COMPILE_DEFINITIONS "${opencl_interface_definitions}") INTERFACE_COMPILE_DEFINITIONS "${opencl_interface_definitions}")
endif() endif()
# set variables for onednn_gpu
if(OpenCLHeaders_FOUND)
set(OpenCL_INCLUDE_DIR "$<TARGET_PROPERTY:OpenCL::Headers,INTERFACE_INCLUDE_DIRECTORIES>")
set(OpenCL_LIBRARY "$<TARGET_PROPERTY:OpenCL::OpenCL,IMPORTED_LOCATION_RELEASE>")
elseif(OpenCL_FOUND)
# find_package(OpenCL) already defines OpenCL_INCLUDE_DIR and OpenCL_LIBRARY
# see https://cmake.org/cmake/help/latest/module/FindOpenCL.html
message(STATUS "Found OpenCL (ver. ${OpenCL_VERSION_STRING}, include dirs ${OpenCL_INCLUDE_DIRS})")
else()
message(FATAL_ERROR "Internal error: cannot find OpenCL headers")
endif()
else() else()
add_subdirectory(thirdparty/ocl) add_subdirectory(thirdparty/ocl)
endif() endif()