22# Under the Apache License v2.0 with LLVM Exceptions. See LICENSE.TXT.
33# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
44
5+ message (STATUS "CMake version: ${CMAKE_VERSION} " )
56cmake_minimum_required (VERSION 3.14.0 FATAL_ERROR)
7+
68# needed when UMF is used as an external project
79set (UMF_CMAKE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR} )
810
@@ -403,16 +405,18 @@ if(UMF_BUILD_LEVEL_ZERO_PROVIDER AND (NOT UMF_LEVEL_ZERO_INCLUDE_DIR))
403405 GIT_REPOSITORY ${LEVEL_ZERO_LOADER_REPO}
404406 GIT_TAG ${LEVEL_ZERO_LOADER_TAG}
405407 EXCLUDE_FROM_ALL )
408+ # Only populate the repo - we don't need to build it
406409 FetchContent_MakeAvailable(level-zero-loader)
410+ #FetchContent_Populate(level-zero-loader)
407411
408412 set (LEVEL_ZERO_INCLUDE_DIRS
409413 ${level-zero-loader_SOURCE_DIR}/include
410- CACHE PATH "Path to Level Zero Headers " )
411- message (STATUS "Level Zero include directory: ${LEVEL_ZERO_INCLUDE_DIRS} " )
414+ CACHE PATH "Path to Level Zero headers " )
415+ message (STATUS "LEVEL_ZERO_INCLUDE_DIRS = ${LEVEL_ZERO_INCLUDE_DIRS} " )
412416elseif (UMF_BUILD_LEVEL_ZERO_PROVIDER)
413417 # Only header is needed to build UMF
414418 set (LEVEL_ZERO_INCLUDE_DIRS ${UMF_LEVEL_ZERO_INCLUDE_DIR} )
415- message (STATUS "Level Zero include directory: ${LEVEL_ZERO_INCLUDE_DIRS} " )
419+ message (STATUS "LEVEL_ZERO_INCLUDE_DIRS = ${LEVEL_ZERO_INCLUDE_DIRS} " )
416420endif ()
417421
418422# Fetch CUDA only if needed i.e.: if building CUDA provider is ON and CUDA
@@ -422,13 +426,14 @@ if(UMF_BUILD_CUDA_PROVIDER AND (NOT UMF_CUDA_INCLUDE_DIR))
422426 "https://gitlab.com/nvidia/headers/cuda-individual/cudart.git" )
423427 set (CUDA_TAG cuda-12.5.1)
424428
425- message (STATUS "Fetching CUDA ${CUDA_TAG} from ${CUDA_REPO} ..." )
429+ message (STATUS "Fetching CUDA ( ${CUDA_TAG} ) from ${CUDA_REPO} ..." )
426430
427431 FetchContent_Declare(
428432 cuda-headers
429433 GIT_REPOSITORY ${CUDA_REPO}
430434 GIT_TAG ${CUDA_TAG}
431435 EXCLUDE_FROM_ALL )
436+ # Only populate the repo - we don't need to build it
432437 FetchContent_MakeAvailable(cuda-headers)
433438
434439 set (CUDA_INCLUDE_DIRS
@@ -685,16 +690,28 @@ else()
685690 )
686691endif ()
687692
688- if ((UMF_BUILD_GPU_TESTS OR UMF_BUILD_GPU_EXAMPLES) AND UMF_BUILD_CUDA_PROVIDER)
689- find_package (CUDA REQUIRED cuda)
690- if (CUDA_LIBRARIES)
691- set (UMF_CUDA_ENABLED TRUE )
692- else ()
693- message (
694- STATUS "Disabling tests and examples that use the CUDA provider "
695- "because the CUDA libraries they require were not found." )
693+ if (UMF_BUILD_GPU_TESTS OR UMF_BUILD_GPU_EXAMPLES)
694+ if (UMF_BUILD_CUDA_PROVIDER)
695+ find_package (CUDA REQUIRED cuda)
696+ if (CUDA_LIBRARIES)
697+ set (UMF_CUDA_ENABLED TRUE )
698+ else ()
699+ message (
700+ STATUS "Disabling tests and examples that use the CUDA Provider "
701+ "because the CUDA libraries they require were not found." )
702+ endif ()
703+ endif ()
704+
705+ if (UMF_BUILD_LEVEL_ZERO_PROVIDER)
706+ find_package (LEVEL_ZERO REQUIRED level-zero)
707+ if (LEVEL_ZERO_LIBRARIES)
708+ set (UMF_LEVEL_ZERO_ENABLED TRUE )
709+ else ()
710+ message (
711+ STATUS "Disabling tests and examples that use the Level Zero Provider "
712+ "because the Level Zero libraries they require were not found." )
713+ endif ()
696714 endif ()
697- # TODO do the same for ze_loader
698715endif ()
699716
700717add_subdirectory (src)
0 commit comments