55
66set (OPENCL_DIR "${CMAKE_CURRENT_SOURCE_DIR} " CACHE PATH "OpenCL adapter directory" )
77
8- set (UR_OPENCL_INCLUDE_DIR "" CACHE PATH "Directory containing the OpenCL Headers" )
9- set (UR_OPENCL_ICD_LOADER_LIBRARY "" CACHE FILEPATH "Path of the OpenCL ICD Loader library" )
8+ include (FetchOpenCL)
109
1110find_package (Threads REQUIRED)
1211
@@ -53,52 +52,13 @@ set_target_properties(${TARGET_NAME} PROPERTIES
5352 SOVERSION "${PROJECT_VERSION_MAJOR} "
5453)
5554
56- if (UR_OPENCL_INCLUDE_DIR)
57- set (OpenCLIncludeDirectory ${UR_OPENCL_INCLUDE_DIR} )
58- else ()
59- FetchContent_Declare(OpenCL-Headers
60- GIT_REPOSITORY "https://github.com/KhronosGroup/OpenCL-Headers.git"
61- GIT_TAG 6eabe90aa7b6cff9c67800a2fe25a0cd88d8b749
62- )
63- FetchContent_MakeAvailable(OpenCL-Headers)
64- FetchContent_GetProperties(OpenCL-Headers
65- SOURCE_DIR OpenCLIncludeDirectory
66- )
55+ # https://github.com/intel/llvm/issues/19648
56+ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND LLVM_ENABLE_PEDANTIC)
57+ target_compile_options (ur_adapter_opencl PRIVATE -std=gnu++17)
6758endif ()
6859
69- # The OpenCL target can be set manually on upstream cmake to avoid using
70- # find_package().
71- if (UR_OPENCL_ICD_LOADER_LIBRARY)
72- set (OpenCLICDLoaderLibrary ${UR_OPENCL_ICD_LOADER_LIBRARY} )
73- else ()
74- find_package (OpenCL 3.0)
75- if (NOT OpenCL_FOUND)
76- FetchContent_Declare(OpenCL-ICD-Loader
77- GIT_REPOSITORY "https://github.com/KhronosGroup/OpenCL-ICD-Loader.git"
78- GIT_TAG main
79- )
80- FetchContent_MakeAvailable(OpenCL-ICD-Loader)
81- endif ()
82- set (OpenCLICDLoaderLibrary OpenCL::OpenCL)
83- endif ()
84-
85- # Make interface library use within the project.
86- add_library (OpenCLICDLoader INTERFACE )
87- target_link_libraries (OpenCLICDLoader INTERFACE "${OpenCLICDLoaderLibrary} " )
88- target_include_directories (OpenCLICDLoader INTERFACE ${OpenCLIncludeDirectory} )
89-
90- message (STATUS "OpenCL Include Directory: ${OpenCLIncludeDirectory} " )
91- message (STATUS "OpenCL ICD Loader Library: ${OpenCLICDLoaderLibrary} " )
92-
93- # Suppress a compiler message about undefined CL_TARGET_OPENCL_VERSION.
94- # Define all symbols up to OpenCL 3.0.
95- target_compile_definitions (ur_adapter_opencl PRIVATE
96- CL_TARGET_OPENCL_VERSION=300
97- CL_USE_DEPRECATED_OPENCL_1_2_APIS
98- )
99-
10060target_include_directories (${TARGET_NAME} PRIVATE
101- ${OpenCLIncludeDirectory }
61+ ${OpenCL_INCLUDE_DIRECTORY }
10262 "${CMAKE_CURRENT_SOURCE_DIR} /../../"
10363)
10464
@@ -107,5 +67,6 @@ target_link_libraries(${TARGET_NAME} PRIVATE
10767 ${PROJECT_NAME} ::common
10868 ${PROJECT_NAME} ::umf
10969 Threads::Threads
110- ${OpenCLICDLoaderLibrary}
70+ OpenCL-Headers
71+ ${OpenCL_LIBRARY}
11172)
0 commit comments