From fabffe1ef067e8898c68c72e5bd135b49f0d1345 Mon Sep 17 00:00:00 2001 From: David Rohr Date: Sun, 11 Oct 2026 10:22:56 +0200 Subject: [PATCH] GPU CMake: Respect OpenCL_ROOT from opencl alidist package if used --- GPU/GPUTracking/Base/opencl/CMakeLists.txt | 6 +++++- dependencies/FindO2GPU.cmake | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/GPU/GPUTracking/Base/opencl/CMakeLists.txt b/GPU/GPUTracking/Base/opencl/CMakeLists.txt index ef83afc9280c9..b9093e083266a 100644 --- a/GPU/GPUTracking/Base/opencl/CMakeLists.txt +++ b/GPU/GPUTracking/Base/opencl/CMakeLists.txt @@ -108,7 +108,11 @@ endif() if(ALIGPU_BUILD_TYPE STREQUAL "Standalone") add_library(${MODULE} SHARED ${SRCS}) - target_link_libraries(${MODULE} GPUTracking OpenCL) + if(TARGET OpenCL::OpenCL) + target_link_libraries(${MODULE} GPUTracking OpenCL::OpenCL) + else() + target_link_libraries(${MODULE} GPUTracking OpenCL) + endif() install(TARGETS ${MODULE}) set(targetName ${MODULE}) endif() diff --git a/dependencies/FindO2GPU.cmake b/dependencies/FindO2GPU.cmake index cf342e00c68be..d765f242b418e 100644 --- a/dependencies/FindO2GPU.cmake +++ b/dependencies/FindO2GPU.cmake @@ -10,7 +10,7 @@ # or submit itself to any jurisdiction. # NOTE!!!! - Whenever this file is changed, move it over to alidist/resources -# FindO2GPU.cmake Version 21 +# FindO2GPU.cmake Version 22 set(CUDA_COMPUTETARGET_DEFAULT_FULL 80-real;86-real;89-real;120-real;75-virtual) set(HIP_AMDGPUTARGET_DEFAULT_FULL gfx906;gfx908) @@ -281,6 +281,15 @@ endif() # ================================== OpenCL ================================== if(ENABLE_OPENCL) + if(NOT OpenCL_ROOT AND DEFINED ENV{OpenCL_ROOT}) + set(OpenCL_ROOT "$ENV{OpenCL_ROOT}") + endif() + if(OpenCL_ROOT) + unset(OpenCL_INCLUDE_DIR CACHE) + unset(OpenCL_LIBRARY CACHE) + find_path(OpenCL_INCLUDE_DIR NAMES CL/cl.h PATHS "${OpenCL_ROOT}" PATH_SUFFIXES include NO_DEFAULT_PATH) + find_library(OpenCL_LIBRARY NAMES OpenCL PATHS "${OpenCL_ROOT}" PATH_SUFFIXES lib lib64 NO_DEFAULT_PATH) + endif() find_package(OpenCL) if(ENABLE_OPENCL AND NOT ENABLE_OPENCL STREQUAL "AUTO") set_package_properties(OpenCL PROPERTIES TYPE REQUIRED) @@ -317,7 +326,8 @@ if(ENABLE_OPENCL) (OpenCL_VERSION_STRING VERSION_GREATER_EQUAL 2.2 OR OPENCL_ENABLED_SPIRV)) set(OPENCL_ENABLED ON) - message(STATUS "Found OpenCL ${OpenCL_VERSION_STRING} (SPIR-V ${OPENCL_ENABLED_SPIRV} ${LLVM_CLANG} ${LLVM_PACKAGE_VERSION} ${LLVM_SPIRV})") + get_filename_component(OpenCL_LIBRARY_DIR "${OpenCL_LIBRARY}" DIRECTORY) + message(STATUS "Found OpenCL ${OpenCL_VERSION_STRING} (Headers ${OpenCL_INCLUDE_DIR}, Library ${OpenCL_LIBRARY_DIR}, SPIR-V ${OPENCL_ENABLED_SPIRV} ${LLVM_CLANG} ${LLVM_PACKAGE_VERSION} ${LLVM_SPIRV})") elseif(NOT ENABLE_OPENCL STREQUAL "AUTO") message(FATAL_ERROR "OpenCL >= 2.x not available") else()