From ede9b14e1eb313c5a6b707c334a1a500f718b719 Mon Sep 17 00:00:00 2001 From: Tim Creech Date: Fri, 6 Dec 2024 10:19:21 -0500 Subject: [PATCH 1/2] [CMake] Add UR_USE_EXTERNAL_UMF to find pre-built UMF For example, by configuring with `-Dumf_ROOT=/path/to/umf-install`. --- source/common/CMakeLists.txt | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/source/common/CMakeLists.txt b/source/common/CMakeLists.txt index a4b1a8a8c3..c81dedbe8a 100644 --- a/source/common/CMakeLists.txt +++ b/source/common/CMakeLists.txt @@ -49,14 +49,22 @@ if (UR_STATIC_ADAPTER_L0) endif() endif() -set(UMF_BUILD_TESTS OFF CACHE INTERNAL "Build UMF tests") -set(UMF_BUILD_EXAMPLES OFF CACHE INTERNAL "Build UMF examples") -set(UMF_BUILD_SHARED_LIBRARY ${UMF_BUILD_SHARED_LIBRARY} CACHE INTERNAL "Build UMF shared library") -set(UMF_BUILD_LIBUMF_POOL_DISJOINT ON CACHE INTERNAL "Build Disjoint Pool") -set(UMF_BUILD_CUDA_PROVIDER OFF CACHE INTERNAL "Build UMF CUDA provider") - -FetchContent_MakeAvailable(unified-memory-framework) -FetchContent_GetProperties(unified-memory-framework) +set(UR_USE_EXTERNAL_UMF "" CACHE BOOL "Use a pre-built UMF") + +if (UR_USE_EXTERNAL_UMF) + find_package(umf REQUIRED) + # Add an alias matching the FetchContent case + add_library(umf::headers ALIAS umf::umf_headers) +else() + set(UMF_BUILD_TESTS OFF CACHE INTERNAL "Build UMF tests") + set(UMF_BUILD_EXAMPLES OFF CACHE INTERNAL "Build UMF examples") + set(UMF_BUILD_SHARED_LIBRARY ${UMF_BUILD_SHARED_LIBRARY} CACHE INTERNAL "Build UMF shared library") + set(UMF_BUILD_LIBUMF_POOL_DISJOINT ON CACHE INTERNAL "Build Disjoint Pool") + set(UMF_BUILD_CUDA_PROVIDER OFF CACHE INTERNAL "Build UMF CUDA provider") + + FetchContent_MakeAvailable(unified-memory-framework) + FetchContent_GetProperties(unified-memory-framework) +endif() if(UR_ENABLE_LATENCY_HISTOGRAM) set(HDR_HISTOGRAM_BUILD_STATIC CACHE INTERNAL ON "") From 318978158a8c1f09fff38eba8b9ee4ca12a29af1 Mon Sep 17 00:00:00 2001 From: Tim Creech Date: Sat, 7 Dec 2024 09:41:26 -0500 Subject: [PATCH 2/2] fixup: initialize cache variable with a bool --- source/common/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/common/CMakeLists.txt b/source/common/CMakeLists.txt index c81dedbe8a..5278649e9d 100644 --- a/source/common/CMakeLists.txt +++ b/source/common/CMakeLists.txt @@ -49,7 +49,7 @@ if (UR_STATIC_ADAPTER_L0) endif() endif() -set(UR_USE_EXTERNAL_UMF "" CACHE BOOL "Use a pre-built UMF") +set(UR_USE_EXTERNAL_UMF OFF CACHE BOOL "Use a pre-built UMF") if (UR_USE_EXTERNAL_UMF) find_package(umf REQUIRED)