diff --git a/cmake/OpenCVDetectOpenCL.cmake b/cmake/OpenCVDetectOpenCL.cmake
index 6ab2cae..8429551 100644
--- a/cmake/OpenCVDetectOpenCL.cmake
+++ b/cmake/OpenCVDetectOpenCL.cmake
@@ -1,13 +1,5 @@
-set(OPENCL_FOUND ON CACHE BOOL "OpenCL library is found")
-if(APPLE)
-  set(OPENCL_LIBRARY "-framework OpenCL" CACHE STRING "OpenCL library")
-  set(OPENCL_INCLUDE_DIR "" CACHE PATH "OpenCL include directory")
-else()
-  set(OPENCL_LIBRARY "" CACHE STRING "OpenCL library")
-  set(OPENCL_INCLUDE_DIR "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/1.2" CACHE PATH "OpenCL include directory")
-  ocv_install_3rdparty_licenses(opencl-headers "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/LICENSE.txt")
-endif()
-mark_as_advanced(OPENCL_INCLUDE_DIR OPENCL_LIBRARY)
+find_package(OPENCL NAMES OpenCL)
+set(OPENCL_LIBRARY OpenCL::OpenCL)
 
 if(OPENCL_FOUND)
 
diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake
index 5742177..5e9633b 100644
--- a/cmake/OpenCVModule.cmake
+++ b/cmake/OpenCVModule.cmake
@@ -869,6 +869,7 @@ macro(ocv_glob_module_sources)
     set(OCL_NAME opencl_kernels_${name})
     add_custom_command(
       OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${OCL_NAME}.cpp"  # don't add .hpp file here to optimize build process
+             "${CMAKE_CURRENT_BINARY_DIR}/${OCL_NAME}.hpp"  # in reality vcpkg needs them
       COMMAND ${CMAKE_COMMAND} "-DMODULE_NAME=${name}" "-DCL_DIR=${CMAKE_CURRENT_LIST_DIR}/src/opencl" "-DOUTPUT=${CMAKE_CURRENT_BINARY_DIR}/${OCL_NAME}.cpp" -P "${OpenCV_SOURCE_DIR}/cmake/cl2cpp.cmake"
       DEPENDS ${cl_kernels} "${OpenCV_SOURCE_DIR}/cmake/cl2cpp.cmake"
       COMMENT "Processing OpenCL kernels (${name})"
