1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
--- cpp/CMakeLists.txt.orig 2026-08-06 02:59:46.000000000 +0800
+++ cpp/CMakeLists.txt 2026-08-06 17:18:49.426953077 +0800
@@ -12,6 +12,7 @@
include(rapids-cpm)
include(rapids-cuda)
include(${rapids-cmake-dir}/cuda/set_runtime.cmake)
+include(${rapids-cmake-dir}/export/find_package_root.cmake)
include(rapids-export)
include(rapids-find)
@@ -349,14 +350,13 @@
# add third party dependencies using CPM
rapids_cpm_init()
-include(${rapids-cmake-dir}/cpm/rapids_logger.cmake)
+find_package(rapids_logger REQUIRED)
set(_rapids_logger_args)
if(NOT CUDF_BUILD_STATIC_DEPS STREQUAL "OFF")
list(APPEND _rapids_logger_args ${CUDF_EXCLUDE_DEPS_FROM_ALL_FLAG} CPM_ARGS OPTIONS
"BUILD_SHARED_LIBS OFF"
)
endif()
-rapids_cpm_rapids_logger(${_rapids_logger_args})
# If dynamically linking to a preexisting rapids_logger library then find_dependency(rapids_logger)
# must be in the installed config when CUDF_INSTALL_LIBRARY_DEPS is OFF. If it's ON then we always
@@ -374,16 +374,16 @@
create_logger_macros(CUDF "cudf::default_logger()" include/cudf)
# find NVTX
-include(cmake/thirdparty/get_nvtx.cmake)
+find_package(nvtx3 REQUIRED)
# find nvCOMP
-include(cmake/thirdparty/get_nvcomp.cmake)
+find_package(nvcomp REQUIRED)
# find CCCL
-include(cmake/thirdparty/get_cccl.cmake)
+find_package(CCCL REQUIRED)
# find rmm, should come after including CCCL to allow overriding the CCCL version used for testing
-include(cmake/thirdparty/get_rmm.cmake)
+find_package(rmm REQUIRED)
# find croaring, needed by tests and benchmarks
if(CUDF_BUILD_TESTS OR CUDF_BUILD_BENCHMARKS)
@@ -394,10 +394,10 @@
include(cmake/thirdparty/get_flatbuffers.cmake)
# find dlpack
-include(cmake/thirdparty/get_dlpack.cmake)
+find_package(dlpack REQUIRED)
# find cuCollections, should come after including CCCL
-include(cmake/thirdparty/get_cucollections.cmake)
+find_package(cuco REQUIRED)
# find or install GoogleTest
if(CUDF_BUILD_TESTUTIL)
@@ -405,14 +405,11 @@
endif()
# find KvikIO
-include(cmake/thirdparty/get_kvikio.cmake)
+find_package(kvikio REQUIRED)
# find nanoarrow
include(cmake/thirdparty/get_nanoarrow.cmake)
-# find thread_pool
-include(cmake/thirdparty/get_thread_pool.cmake)
-
# find xxhash
include(cmake/thirdparty/get_xxhash.cmake)
@@ -420,7 +417,8 @@
include(cmake/thirdparty/get_zstd.cmake)
# Fetch librtcx via CPM (zstd and nvtx3 are already available at this point)
-include(cmake/thirdparty/get_rtcx.cmake)
+add_subdirectory(librtcx)
+include(librtcx/embed.cmake)
# Pre-compiled fragment management helper functions
include(cmake/Modules/AddFragment.cmake)
@@ -1365,13 +1363,13 @@
# against any of these libraries ever adding a rapids_logger / rmm hidden dependency
target_link_libraries(
cudf
- PUBLIC CCCL::CCCL $<BUILD_LOCAL_INTERFACE:BS::thread_pool>
+ PUBLIC CCCL::CCCL
PRIVATE $<BUILD_LOCAL_INTERFACE:nvtx3::nvtx3-cpp> $<BUILD_LOCAL_INTERFACE:cuco::cuco> ZLIB::ZLIB
kvikio::kvikio ${CUDF_nanoarrow_TARGET} zstd $<BUILD_LOCAL_INTERFACE:xxhash> rtcx::rtcx
)
if(NOT _absorbed_nvcomp)
- target_link_libraries(cudf PRIVATE ${CUDF_nvcomp_TARGET})
+ target_link_libraries(cudf PRIVATE nvcomp::nvcomp nvcomp::nvcomp_cpu)
if(CUDF_nvcomp_TARGET STREQUAL "nvcomp::nvcomp_static")
set_property(
TARGET cudf
|