From 31e49d476c02fb33652e6214ca883e5472e278eb Mon Sep 17 00:00:00 2001 From: Wesley Maxey <71408887+wmaxey@users.noreply.github.com> Date: Wed, 8 Jan 2025 22:49:07 -0800 Subject: [PATCH] Make CUB NVRTC commandline arguments come from a cmake template (#3292) --- cub/test/CMakeLists.txt | 6 ++---- cub/test/catch2_test_nvrtc.cu | 1 + cub/test/cmake/nvrtc_args.h.in | 6 ++++++ 3 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 cub/test/cmake/nvrtc_args.h.in diff --git a/cub/test/CMakeLists.txt b/cub/test/CMakeLists.txt index 17201c4704f..c86d24754de 100644 --- a/cub/test/CMakeLists.txt +++ b/cub/test/CMakeLists.txt @@ -227,10 +227,8 @@ function(cub_add_test target_name_var test_name test_src cub_target launcher_id) endif() # CUB_SEPARATE_CATCH2 if ("${test_target}" MATCHES "nvrtc") - target_compile_definitions(${test_target} PRIVATE NVRTC_CUB_PATH="-I${CMAKE_SOURCE_DIR}/cub") - target_compile_definitions(${test_target} PRIVATE NVRTC_THRUST_PATH="-I${CMAKE_SOURCE_DIR}/thrust") - target_compile_definitions(${test_target} PRIVATE NVRTC_LIBCUDACXX_PATH="-I${CMAKE_SOURCE_DIR}/libcudacxx/include") - target_compile_definitions(${test_target} PRIVATE NVRTC_CTK_PATH="-I${CUDAToolkit_INCLUDE_DIRS}") + configure_file("cmake/nvrtc_args.h.in" ${CMAKE_CURRENT_BINARY_DIR}/nvrtc_args.h) + target_include_directories(${test_target} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}) endif() if ("${test_target}" MATCHES "test.iterator") diff --git a/cub/test/catch2_test_nvrtc.cu b/cub/test/catch2_test_nvrtc.cu index 01f39027ce0..71187ecc83a 100644 --- a/cub/test/catch2_test_nvrtc.cu +++ b/cub/test/catch2_test_nvrtc.cu @@ -31,6 +31,7 @@ #include #include +#include TEST_CASE("Test nvrtc", "[test][nvrtc]") { diff --git a/cub/test/cmake/nvrtc_args.h.in b/cub/test/cmake/nvrtc_args.h.in new file mode 100644 index 00000000000..215804ad0f0 --- /dev/null +++ b/cub/test/cmake/nvrtc_args.h.in @@ -0,0 +1,6 @@ +#pragma once + +const char* NVRTC_CUB_PATH = "-I@CMAKE_SOURCE_DIR@/cub"; +const char* NVRTC_THRUST_PATH = "-I@CMAKE_SOURCE_DIR@/thrust"; +const char* NVRTC_LIBCUDACXX_PATH = "-I@CMAKE_SOURCE_DIR@/libcudacxx/include"; +const char* NVRTC_CTK_PATH = "-I@CUDAToolkit_INCLUDE_DIRS@";