Skip to content

Commit

Permalink
Merge pull request #726 from rapidsai/branch-24.12
Browse files Browse the repository at this point in the history
Forward-merge branch-24.12 into branch-25.02
  • Loading branch information
GPUtester authored Dec 4, 2024
2 parents 83ff6f1 + c82539c commit 7e3122c
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 10 deletions.
4 changes: 3 additions & 1 deletion rapids-cmake/cpm/detail/package_details.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,9 @@ function(rapids_cpm_package_details package_name version_var url_var tag_var sha
set(exclude_from_all OFF)
rapids_cpm_json_get_value(exclude_from_all)

set(always_download OFF)
# Ensure that always_download is not set by default so that the if(DEFINED always_download) check
# below works as expected in the default case.
unset(always_download)
if(override_json_data AND json_data AND git_details_overridden)
# `always_download` default value requires the package to exist in both the default and override
# and that the git url / git tag have been modified.
Expand Down
5 changes: 4 additions & 1 deletion testing/cpm/cpm_find-gtest-no-gmock/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#=============================================================================
# Copyright (c) 2022, NVIDIA CORPORATION.
# Copyright (c) 2022-2024, NVIDIA CORPORATION.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
Expand All @@ -20,6 +20,9 @@ include(${rapids-cmake-dir}/cpm/init.cmake)
include(${rapids-cmake-dir}/cpm/gtest.cmake)

set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/mock_installed_gtest")
# Downloading is turned on by default for all packages in the CPM cache when
# testing, but in this case we specifically want it off.
set(CPM_DOWNLOAD_GTest OFF)

rapids_cpm_init()
rapids_cpm_gtest()
Expand Down
7 changes: 3 additions & 4 deletions testing/cpm/verify_generated_pins.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,18 +28,17 @@ function(verify_generated_pins target_name)
set(_RAPIDS_PIN_FILE "${CMAKE_CURRENT_BINARY_DIR}/rapids-cmake/pinned_versions.json")
endif()

# only check projects that were downloaded by CPM (ignore those already in the build environment)
foreach(proj IN LISTS _RAPIDS_PROJECTS)
if(${proj}_SOURCE_DIR)
list(APPEND projects-to-verify ${proj})
if(NOT CPM_PACKAGE_${proj}_SOURCE_DIR)
message(FATAL_ERROR "Attempting to verify a project that was not cloned as part of this build")
endif()
endforeach()

add_custom_target(${target_name} ALL
COMMAND ${CMAKE_COMMAND} "-S${CMAKE_CURRENT_FUNCTION_LIST_DIR}/verify_generated_pins/" "-B${CMAKE_BINARY_DIR}/${target_name}_verify_build"
"-Drapids-cmake-dir=${rapids-cmake-dir}"
"-Dpinned_versions_file=${_RAPIDS_PIN_FILE}"
"-Dprojects-to-verify=${projects-to-verify}"
"-Dprojects-to-verify=${_RAPIDS_PROJECTS}"
"-Dprojects-not-in-list=${_RAPIDS_PROJECTS_NOT_EXIST}"
VERBATIM
)
Expand Down
7 changes: 7 additions & 0 deletions testing/utils/cmake_test.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,13 @@ function(add_cmake_test mode source_or_dir)
if(DEFINED CPM_DOWNLOAD_LOCATION)
list(APPEND extra_configure_flags "-DCPM_DOWNLOAD_LOCATION=${CPM_DOWNLOAD_LOCATION}")
endif()
if(PACKAGES_IN_CPM_CACHE)
# Prevent ever finding preexisting built packages for those that we have in
# the cache.
foreach(pkg ${PACKAGES_IN_CPM_CACHE})
list(APPEND extra_configure_flags "-DCPM_DOWNLOAD_${pkg}=ON")
endforeach()
endif()

foreach(generator gen_name IN ZIP_LISTS supported_generators nice_gen_names)

Expand Down
15 changes: 11 additions & 4 deletions testing/utils/fill_cache/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,18 @@ rapids_cpm_nvtx3(DOWNLOAD_ONLY ON)
rapids_cpm_rmm(DOWNLOAD_ONLY ON)
rapids_cpm_spdlog(DOWNLOAD_ONLY ON)
rapids_cpm_fmt(DOWNLOAD_ONLY ON)
rapids_cpm_find(skbuild 0.14.1
GIT_REPOSITORY https://github.com/scikit-build/scikit-build.git
GIT_TAG 0.14.1
)

# Download all binary packages
set(CPM_DOWNLOAD_ALL "OFF")
rapids_cpm_nvcomp(USE_PROPRIETARY_BINARY ON DOWNLOAD_ONLY ON)

# Print out all the packages in the cache
get_cmake_property(cpm_packages CACHE_VARIABLES)
set(packages)
foreach(p ${cpm_packages})
if ("${p}" MATCHES "^CPM_PACKAGE_(.*)_SOURCE_DIR")
list(APPEND packages ${CMAKE_MATCH_1})
endif()
endforeach()
string(REPLACE ";" ", " packages "${packages}")
message(STATUS "CPM packages in cache: {${packages}}")
9 changes: 9 additions & 0 deletions testing/utils/setup_cpm_cache.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,17 @@ function(setup_cpm_cache )
-DCPM_SOURCE_CACHE=${CPM_SOURCE_CACHE}
-DCPM_DOWNLOAD_LOCATION=${CPM_DOWNLOAD_LOCATION}
WORKING_DIRECTORY ${src_dir}
OUTPUT_VARIABLE out_var
)
# Find the line in out_var that contains "CPM packages in cache
set(packages)
foreach(line IN LISTS out_var)
if("${line}" MATCHES "CPM packages in cache: {(.*)}")
string(REPLACE ", " ";" packages "${CMAKE_MATCH_1}")
endif()
endforeach()

set(PACKAGES_IN_CPM_CACHE ${packages} PARENT_SCOPE)
set(CPM_SOURCE_CACHE "${CPM_SOURCE_CACHE}" PARENT_SCOPE)
set(CPM_DOWNLOAD_LOCATION "${CPM_DOWNLOAD_LOCATION}" PARENT_SCOPE)
endfunction()

0 comments on commit 7e3122c

Please sign in to comment.