diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 5bbfb586b6..675a77ea7b 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -84,6 +84,30 @@ endif() add_library(kvikio INTERFACE) add_library(kvikio::kvikio ALIAS kvikio) +# Enable supported cuFile features in KvikIO +# +# While the code block below (in the value of final_code_string) sets this information when KvikIO +# is imported from a kvikio-config.cmake file, this code block is intended to be used by projects +# that include KvikIO's source directory in their own CMake build. +# +# Normally we would just set the below without using $, and without the +# final_code_string, but in this case we want to conditionally set these things at import time, not +# export time, since KvikIO is a header-only library that can adapt to different build environments. +if(cuFile_FOUND) + target_link_libraries(kvikio INTERFACE $) + target_compile_definitions(kvikio INTERFACE $) + if(cuFile_BATCH_API_FOUND) + target_compile_definitions( + kvikio INTERFACE $ + ) + endif() + if(cuFile_STREAM_API_FOUND) + target_compile_definitions( + kvikio INTERFACE $ + ) + endif() +endif() + target_include_directories( kvikio INTERFACE "$" "$" diff --git a/cpp/examples/CMakeLists.txt b/cpp/examples/CMakeLists.txt index 42b646022c..f06d0e0131 100644 --- a/cpp/examples/CMakeLists.txt +++ b/cpp/examples/CMakeLists.txt @@ -20,18 +20,6 @@ set_target_properties(BASIC_IO_TEST PROPERTIES INSTALL_RPATH "\$ORIGIN/../../lib target_include_directories(BASIC_IO_TEST PRIVATE ../include ${cuFile_INCLUDE_DIRS}) target_link_libraries(BASIC_IO_TEST PRIVATE kvikio CUDA::cudart) -# Enable supported cuFile features in KvikIO examples -if(cuFile_FOUND) - target_link_libraries(BASIC_IO_TEST PRIVATE cufile::cuFile_interface) - target_compile_definitions(BASIC_IO_TEST PRIVATE KVIKIO_CUFILE_FOUND) - if(cuFile_BATCH_API_FOUND) - target_compile_definitions(BASIC_IO_TEST PRIVATE KVIKIO_CUFILE_BATCH_API_FOUND) - endif() - if(cuFile_STREAM_API_FOUND) - target_compile_definitions(BASIC_IO_TEST PRIVATE KVIKIO_CUFILE_STREAM_API_FOUND) - endif() -endif() - if(CMAKE_COMPILER_IS_GNUCXX) set(KVIKIO_CXX_FLAGS "-Wall;-Werror;-Wno-unknown-pragmas") target_compile_options(BASIC_IO_TEST PRIVATE "$<$:${KVIKIO_CXX_FLAGS}>")