From 89505446b6657fdc13bfb898f51421504bed5533 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 8 Sep 2026 17:25:14 -0500 Subject: [PATCH 1/3] Discover CMake packages installed by wheels --- cpp/CMakeLists.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index a633094a88..f38097496d 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -9,6 +9,7 @@ include(rapids-cmake) include(rapids-cpm) include(rapids-export) include(rapids-find) +include(${rapids-cmake-dir}/cython-core/find_prefix_paths.cmake) option(BUILD_CPU_ONLY "Build CPU only components. Applies to CUVS benchmarks currently" OFF) @@ -27,6 +28,15 @@ project( VERSION "${RAPIDS_VERSION}" LANGUAGES ${lang_list} ) + +# Find CMake packages provided by installed wheels. +find_package(Python COMPONENTS Interpreter) +if(Python_FOUND) + rapids_cython_find_prefix_paths("${Python_EXECUTABLE}" wheel_prefix_paths) + set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE) + list(PREPEND CMAKE_PREFIX_PATH ${wheel_prefix_paths}) +endif() + set(CMAKE_INSTALL_MESSAGE LAZY) # Disable C++20 module scanning (not using modules, just C++20 features) From 686d2779cda2fec3a38ecf26b5cee00e552e4e83 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 8 Sep 2026 17:32:47 -0500 Subject: [PATCH 2/3] Defer wheel prefix helper until Python is found --- cpp/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index f38097496d..711190bb73 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -9,7 +9,6 @@ include(rapids-cmake) include(rapids-cpm) include(rapids-export) include(rapids-find) -include(${rapids-cmake-dir}/cython-core/find_prefix_paths.cmake) option(BUILD_CPU_ONLY "Build CPU only components. Applies to CUVS benchmarks currently" OFF) @@ -32,6 +31,7 @@ project( # Find CMake packages provided by installed wheels. find_package(Python COMPONENTS Interpreter) if(Python_FOUND) + include(${rapids-cmake-dir}/cython-core/find_prefix_paths.cmake) rapids_cython_find_prefix_paths("${Python_EXECUTABLE}" wheel_prefix_paths) set_property(GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS TRUE) list(PREPEND CMAKE_PREFIX_PATH ${wheel_prefix_paths}) From b148818ccc88beacf3dc216a60e83102f1bdb2f1 Mon Sep 17 00:00:00 2001 From: Bradley Dice Date: Tue, 8 Sep 2026 17:50:01 -0500 Subject: [PATCH 3/3] Propagate KvikIO through installed cuVS target --- cpp/CMakeLists.txt | 10 +++------- cpp/cmake/thirdparty/get_kvikio.cmake | 10 +++++----- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 711190bb73..66f139c090 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -1609,13 +1609,9 @@ if(NOT BUILD_CPU_ONLY) $> $> $<$:CUDA::nvtx3> - PRIVATE $ - $ - $ - CUDA::nvJitLink - CUDA::nvrtc - rtcx::rtcx - $ + PRIVATE $ $ + $ CUDA::nvJitLink CUDA::nvrtc rtcx::rtcx kvikio::kvikio + INTERFACE $ ) # ensure CUDA symbols aren't relocated to the middle of the debug build binaries diff --git a/cpp/cmake/thirdparty/get_kvikio.cmake b/cpp/cmake/thirdparty/get_kvikio.cmake index 50a320aa1e..e683659e66 100644 --- a/cpp/cmake/thirdparty/get_kvikio.cmake +++ b/cpp/cmake/thirdparty/get_kvikio.cmake @@ -15,15 +15,15 @@ function(find_and_configure_kvikio) # ---------------------------------------------------------------------------- # KvikIO provides the GPUDirect Storage (cuFile) and POSIX file I/O backends used by the CAGRA - # ACE disk-mode build. Shared cuVS builds consume it privately, while installed static cuVS - # targets retain it as a link-only dependency. At runtime the conda 'libkvikio' package provides - # both the shared library and its CMake package configuration. + # ACE disk-mode build. cuVS consumes it privately, while installed cuVS targets retain it as a + # link-only dependency. At runtime package managers provide both the shared library and its CMake + # package configuration. # ---------------------------------------------------------------------------- rapids_cpm_find( kvikio ${PKG_VERSION} GLOBAL_TARGETS kvikio::kvikio - BUILD_EXPORT_SET cuvs-static-exports - INSTALL_EXPORT_SET cuvs-static-exports + BUILD_EXPORT_SET cuvs-exports + INSTALL_EXPORT_SET cuvs-exports CPM_ARGS EXCLUDE_FROM_ALL TRUE GIT_REPOSITORY https://github.com/${PKG_FORK}/kvikio.git