From 767044ef72ad19f87e23560364bd65d0eddf3fd9 Mon Sep 17 00:00:00 2001 From: Basit Ayantunde Date: Fri, 28 Feb 2025 03:50:54 +0000 Subject: [PATCH 1/3] Removed Excessive Re-compilation of CUDFTESTUTIL --- cpp/CMakeLists.txt | 12 ++++++++++++ cpp/benchmarks/CMakeLists.txt | 2 +- cpp/tests/CMakeLists.txt | 12 ++---------- 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 0282282b5f3..ee0e0c32600 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -1042,6 +1042,18 @@ if(CUDF_BUILD_TESTUTIL) ) target_link_libraries(cudftestutil_impl INTERFACE cudf::cudftestutil) + # Base library for linking to cudf::cudftestutil, Note that targets should not directly link to + # cudf::cudftestutil_impl and should instead link to an OBJECT library that contains the compiled + # test utilities first + add_library(cudf_test_base OBJECT) + target_link_libraries( + cudf_test_base + PUBLIC cudf::cudftestutil + PRIVATE cudf::cudftestutil_impl + PUBLIC GTest::gmock GTest::gmock_main GTest::gtest GTest::gtest_main + ) + add_library(cudf::cudf_test_base ALIAS cudf_test_base) + install(FILES tests/io/metadata_utilities.cpp DESTINATION src/cudftestutil/io) install( FILES tests/utilities/column_utilities.cu diff --git a/cpp/benchmarks/CMakeLists.txt b/cpp/benchmarks/CMakeLists.txt index 03f11cc957b..a90afb6ab5c 100644 --- a/cpp/benchmarks/CMakeLists.txt +++ b/cpp/benchmarks/CMakeLists.txt @@ -99,7 +99,7 @@ function(ConfigureBench CMAKE_BENCH_NAME) ) target_link_libraries( ${CMAKE_BENCH_NAME} PRIVATE cudf_benchmark_common cudf_datagen benchmark::benchmark_main - cudf::cudftestutil_impl $ + cudf::cudf_test_base $ ) add_custom_command( OUTPUT CUDF_BENCHMARKS diff --git a/cpp/tests/CMakeLists.txt b/cpp/tests/CMakeLists.txt index cfc6a0dc425..ce6e1b21316 100644 --- a/cpp/tests/CMakeLists.txt +++ b/cpp/tests/CMakeLists.txt @@ -55,16 +55,8 @@ function(ConfigureTest CMAKE_TEST_NAME) ) target_link_libraries( - ${CMAKE_TEST_NAME} - PRIVATE cudf::cudftestutil - cudf::cudftestutil_impl - GTest::gmock - GTest::gmock_main - GTest::gtest - GTest::gtest_main - nvtx3::nvtx3-cpp - $ - "${_CUDF_TEST_EXTRA_LIBS}" + ${CMAKE_TEST_NAME} PRIVATE cudf::cudf_test_base nvtx3::nvtx3-cpp + $ "${_CUDF_TEST_EXTRA_LIBS}" ) rapids_cuda_set_runtime(${CMAKE_TEST_NAME} USE_STATIC ${CUDA_STATIC_RUNTIME}) rapids_test_add( From 716c92e64f56e38b138593fab0b27b6aab25d745 Mon Sep 17 00:00:00 2001 From: Basit Ayantunde Date: Fri, 28 Feb 2025 04:32:08 +0000 Subject: [PATCH 2/3] fixed benchmarks --- cpp/benchmarks/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cpp/benchmarks/CMakeLists.txt b/cpp/benchmarks/CMakeLists.txt index a90afb6ab5c..42b417638be 100644 --- a/cpp/benchmarks/CMakeLists.txt +++ b/cpp/benchmarks/CMakeLists.txt @@ -129,7 +129,7 @@ function(ConfigureNVBench CMAKE_BENCH_NAME) target_link_libraries( ${CMAKE_BENCH_NAME} PRIVATE cudf_benchmark_common ndsh_data_generator cudf_datagen nvbench::nvbench - $ cudf::cudftestutil_impl + $ cudf::cudf_test_base ) install( TARGETS ${CMAKE_BENCH_NAME} From 10d013f8ee3a0d11db8fdb1ede95d5c57e2aad0b Mon Sep 17 00:00:00 2001 From: Basit Ayantunde Date: Fri, 28 Feb 2025 05:22:11 +0000 Subject: [PATCH 3/3] update --- cpp/CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index ee0e0c32600..1dbcb832c5c 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -1048,9 +1048,8 @@ if(CUDF_BUILD_TESTUTIL) add_library(cudf_test_base OBJECT) target_link_libraries( cudf_test_base - PUBLIC cudf::cudftestutil + PUBLIC cudf::cudftestutil GTest::gmock GTest::gmock_main GTest::gtest GTest::gtest_main PRIVATE cudf::cudftestutil_impl - PUBLIC GTest::gmock GTest::gmock_main GTest::gtest GTest::gtest_main ) add_library(cudf::cudf_test_base ALIAS cudf_test_base)