Skip to content

Commit ede9b14

Browse files
committed
[CMake] Add UR_USE_EXTERNAL_UMF to find pre-built UMF
For example, by configuring with `-Dumf_ROOT=/path/to/umf-install`.
1 parent 1675f05 commit ede9b14

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

source/common/CMakeLists.txt

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,22 @@ if (UR_STATIC_ADAPTER_L0)
4949
endif()
5050
endif()
5151

52-
set(UMF_BUILD_TESTS OFF CACHE INTERNAL "Build UMF tests")
53-
set(UMF_BUILD_EXAMPLES OFF CACHE INTERNAL "Build UMF examples")
54-
set(UMF_BUILD_SHARED_LIBRARY ${UMF_BUILD_SHARED_LIBRARY} CACHE INTERNAL "Build UMF shared library")
55-
set(UMF_BUILD_LIBUMF_POOL_DISJOINT ON CACHE INTERNAL "Build Disjoint Pool")
56-
set(UMF_BUILD_CUDA_PROVIDER OFF CACHE INTERNAL "Build UMF CUDA provider")
57-
58-
FetchContent_MakeAvailable(unified-memory-framework)
59-
FetchContent_GetProperties(unified-memory-framework)
52+
set(UR_USE_EXTERNAL_UMF "" CACHE BOOL "Use a pre-built UMF")
53+
54+
if (UR_USE_EXTERNAL_UMF)
55+
find_package(umf REQUIRED)
56+
# Add an alias matching the FetchContent case
57+
add_library(umf::headers ALIAS umf::umf_headers)
58+
else()
59+
set(UMF_BUILD_TESTS OFF CACHE INTERNAL "Build UMF tests")
60+
set(UMF_BUILD_EXAMPLES OFF CACHE INTERNAL "Build UMF examples")
61+
set(UMF_BUILD_SHARED_LIBRARY ${UMF_BUILD_SHARED_LIBRARY} CACHE INTERNAL "Build UMF shared library")
62+
set(UMF_BUILD_LIBUMF_POOL_DISJOINT ON CACHE INTERNAL "Build Disjoint Pool")
63+
set(UMF_BUILD_CUDA_PROVIDER OFF CACHE INTERNAL "Build UMF CUDA provider")
64+
65+
FetchContent_MakeAvailable(unified-memory-framework)
66+
FetchContent_GetProperties(unified-memory-framework)
67+
endif()
6068

6169
if(UR_ENABLE_LATENCY_HISTOGRAM)
6270
set(HDR_HISTOGRAM_BUILD_STATIC CACHE INTERNAL ON "")

0 commit comments

Comments
 (0)