From 7df34f0cf3a3355a5727ae10b4647894a8bdc769 Mon Sep 17 00:00:00 2001 From: Daniel Martinez Date: Thu, 18 Jan 2024 11:02:47 -0500 Subject: [PATCH] Build against sytem dependancies if available. If CLHPP, ICD-Loader, and Headers are installed on the system, use those instead of the submodules. This is beneficial when packaging the SDK for distribution, as the submodules can be built as their own seperate packages. --- CMakeLists.txt | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 333b5297..b961db5c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,9 +39,20 @@ if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) set(CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}/install" CACHE PATH "Install Path" FORCE) endif() -add_subdirectory(external/OpenCL-Headers) -add_subdirectory(external/OpenCL-ICD-Loader) -add_subdirectory(external/OpenCL-CLHPP) +find_package (OpenCLHeaders) +if (NOT TARGET OpenCL::Headers) + add_subdirectory(external/OpenCL-Headers) +endif () + +find_package (OpenCLICDLoader) +if (NOT TARGET OpenCL::OpenCL) + add_subdirectory(external/OpenCL-ICD-Loader) +endif () + +find_package (OpenCLHeadersCpp) +if (NOT TARGET OpenCL::HeadersCpp) + add_subdirectory(external/OpenCL-CLHPP) +endif () list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake