diff --git a/cpp/CMakeLists.txt b/cpp/CMakeLists.txt index 89b080c391..e9c9f44685 100644 --- a/cpp/CMakeLists.txt +++ b/cpp/CMakeLists.txt @@ -60,6 +60,15 @@ rapids_find_package( ) if(NOT cuFile_FOUND) message(WARNING "Building KvikIO without cuFile") +else() + file(READ "${cuFile_INCLUDE_DIRS}/cufile.h" CUFILE_H_STR) + string(FIND "${CUFILE_H_STR}" "cuFileBatchIOSetUp" cuFileBatchIOSetUp_location) + if(cuFileBatchIOSetUp_location EQUAL "-1") + set(cuFile_BATCH_API_FOUND FALSE) + else() + set(cuFile_BATCH_API_FOUND TRUE) + endif() + message(STATUS "Found cuFile's Batch API: ${cuFile_BATCH_API_FOUND}") endif() # library targets @@ -75,6 +84,9 @@ target_link_libraries(kvikio INTERFACE Threads::Threads) target_link_libraries(kvikio INTERFACE CUDA::toolkit) if(cuFile_FOUND) target_link_libraries(kvikio INTERFACE cufile::cuFile_interface) + if(cuFile_BATCH_API_FOUND) + target_compile_definitions(kvikio INTERFACE CUFILE_BATCH_API_FOUND) + endif() endif() target_link_libraries(kvikio INTERFACE ${CMAKE_DL_LIBS}) target_compile_features(kvikio INTERFACE cxx_std_17)