Files
TheRock/rocm-libraries/projects/hipsparse/clients/tests/CMakeLists.txt
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

337 lines
14 KiB
CMake

# Copyright Advanced Micro Devices, Inc., or its affiliates.
# SPDX-License-Identifier: MIT
# Optional: CTest test categorization when building in rocm-libraries with shared/ctest.
# Skipped when shared/ is not present (e.g. standalone hipsparse or sparse checkout in CI).
if(DEFINED ROCM_LIBRARIES_ROOT AND EXISTS "${ROCM_LIBRARIES_ROOT}/shared/ctest/TestCategories.cmake")
include("${ROCM_LIBRARIES_ROOT}/shared/ctest/TestCategories.cmake")
set(HIPSPARSE_HAS_CTEST_CATEGORIES ON)
endif()
find_package(GTest REQUIRED)
# Download or copy client matrices
if(NOT EXISTS "${CMAKE_MATRICES_DIR}")
# Download matrices
set(CMAKE_MATRICES_DIR "${PROJECT_BINARY_DIR}/clients/matrices" CACHE STRING "Matrices directory.")
file(MAKE_DIRECTORY "${CMAKE_MATRICES_DIR}")
set(CONVERT_SOURCE "${PROJECT_SOURCE_DIR}/deps/convert.cpp" CACHE STRING "Convert tool mtx2csr.")
include("${PROJECT_SOURCE_DIR}/cmake/ClientMatrices.cmake")
else()
# Copy matrices
if(NOT CMAKE_MATRICES_DIR STREQUAL "${PROJECT_BINARY_DIR}/clients/matrices")
message("Copy matrix files from ${CMAKE_MATRICES_DIR} to ${PROJECT_BINARY_DIR}/clients/matrices")
file(COPY ${CMAKE_MATRICES_DIR}/ DESTINATION ${PROJECT_BINARY_DIR}/clients/matrices)
if(STATUS AND NOT STATUS EQUAL 0)
message(FATAL_ERROR "Failed to copy matrix .bin files, aborting.")
endif()
endif()
endif()
add_executable(hipsparse-test)
target_sources(hipsparse-test PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/hipsparse_gtest_main.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_axpyi.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_gthr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_gthrz.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_roti.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_sctr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_bsrmv.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_bsrxmv.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_bsrsv2.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csrsv2.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_bsrmm.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_bsrsm2.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csrsm2.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_gemmi.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_gemvi.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csrgeam2.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csrgemm2_a.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csrgemm2_b.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_bsrilu02.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csrilu02.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_bsric02.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csric02.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_nnz.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csr2dense.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csc2dense.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_dense2csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_prune_dense2csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_prune_dense2csr_by_percentage.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_dense2csc.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csr2coo.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csr2bsr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_bsr2csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_gebsr2csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csr2csr_compress.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_prune_csr2csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_prune_csr2csr_by_percentage.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_coo2csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_identity.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csrsort.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_cscsort.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_coosort.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csru2csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csrilusv.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_gebsr2gebsr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csr2gebsr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_gebsr2gebsc.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmat_descr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spvec_descr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_dnmat_descr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_dnvec_descr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_const_spmat_descr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_const_spvec_descr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_const_dnmat_descr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_const_dnvec_descr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmv_coo.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmv_coo_aos.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmv_csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmv_csr_reuse_descr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmv_sell.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_axpby.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_gather.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_scatter.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_rot.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spvv.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_dense_to_sparse_bell.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_dense_to_sparse_bell_no_set_pointers.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_dense_to_sparse_csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_dense_to_sparse_csc.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_dense_to_sparse_coo.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_sparse_to_dense_csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_sparse_to_dense_csc.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_sparse_to_dense_coo.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmm_csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmm_csr_reuse_descr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmm_batched_csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmm_csc.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmm_batched_csc.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmm_coo.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmm_batched_coo.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmm_bell.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmm_bsr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spgemm_csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spgemmreuse_csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_sddmm_csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_sddmm_csr_reuse_descr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_sddmm_csc.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_sddmm_coo.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_sddmm_coo_aos.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_gpsv_interleaved_batch.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_gtsv2_strided_batch.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_gtsv.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_gtsv2_nopivot.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_gtsv_interleaved_batch.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csrcolor.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spsv_csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spsv_csr_reuse_descr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spsv_coo.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spsm_csr.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_spsm_coo.cpp"
)
if(HIPSPARSE_ENABLE_SPMV_BSR)
target_sources(hipsparse-test PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/test_spmv_bsr.cpp"
)
endif()
if(BUILD_WITH_CSC_TRSV)
target_sources(hipsparse-test PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/test_spsv_csc.cpp"
)
endif()
if(BUILD_WITH_CSC_TRSM)
target_sources(hipsparse-test PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/test_spsm_csc.cpp"
)
endif()
if(HIPSPARSE_ENABLE_HIP)
target_sources(hipsparse-test PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}/test_doti.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_dotci.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csr2csc.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csr2csc_ex2.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csrgemm.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csrgeam.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csrmv.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csrmm.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_hybmv.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_csr2hyb.cpp"
"${CMAKE_CURRENT_SOURCE_DIR}/test_hyb2csr.cpp"
)
endif()
# Include sources
if(HIPSPARSE_ENABLE_HIP)
include(rocm/CMakeLists.txt)
elseif(HIPSPARSE_ENABLE_CUDA)
if(CUDAToolkit_VERSION MATCHES "^12\\.8")
include(cuda/12.8/CMakeLists.txt)
message(STATUS "Building hipsparse-test executable using CUDAToolkit_VERSION ${CUDAToolkit_VERSION}")
elseif(CUDAToolkit_VERSION MATCHES "^13\\.")
include(cuda/13/CMakeLists.txt)
message(STATUS "Building hipsparse-test executable using CUDAToolkit_VERSION ${CUDAToolkit_VERSION}")
else()
message(WARNING "Testing on CUDAToolkit_VERSION ${CUDAToolkit_VERSION} not explicitly supported; no test data will be generated.")
endif()
endif()
target_compile_definitions(hipsparse-test PRIVATE GOOGLE_TEST)
target_link_libraries(hipsparse-test PRIVATE
hipsparse::clients-common
GTest::gtest
)
# GTest requires pthread on Unix platforms
if(NOT WIN32)
target_link_libraries(hipsparse-test PRIVATE pthread)
endif()
if(HIPSPARSE_ENABLE_OPENMP)
target_link_libraries(hipsparse-test PRIVATE OpenMP::OpenMP_CXX)
endif()
if(HIPSPARSE_ENABLE_CUDA)
target_compile_definitions(hipsparse-test PRIVATE __HIP_PLATFORM_NVIDIA__)
target_link_libraries(hipsparse-test PRIVATE CUDA::cudart CUDA::cuda_driver)
endif()
set_target_properties(hipsparse-test PROPERTIES
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/clients/staging"
)
# Build mtx2csr converter
if(NOT CONVERT_SOURCE)
set(CONVERT_SOURCE "${PROJECT_SOURCE_DIR}/deps/convert.cpp")
endif()
add_executable(mtx2csr)
target_sources(mtx2csr PRIVATE "${CONVERT_SOURCE}")
target_compile_options(mtx2csr PRIVATE -O3)
if(NOT WIN32)
target_link_options(mtx2csr PRIVATE -Wl,--build-id=sha1)
endif()
set_target_properties(mtx2csr PROPERTIES
OUTPUT_NAME "mtx2csr.exe"
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/clients"
)
set(HIPSPARSE_CLIENTMATRICES "${PROJECT_SOURCE_DIR}/cmake/hipsparse_clientmatrices.cmake")
set(HIPSPARSE_CONVERT "${PROJECT_BINARY_DIR}/clients/hipsparse_mtx2csr")
add_custom_command(
OUTPUT "${HIPSPARSE_CONVERT}"
COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:mtx2csr> "${HIPSPARSE_CONVERT}"
DEPENDS mtx2csr
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
)
set(HIPSPARSE_COMMON "${PROJECT_BINARY_DIR}/clients/staging/hipsparse_common.yaml")
add_custom_command(
OUTPUT "${HIPSPARSE_COMMON}"
COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/clients/include/hipsparse_common.yaml" "${HIPSPARSE_COMMON}"
DEPENDS "${PROJECT_SOURCE_DIR}/clients/include/hipsparse_common.yaml"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
)
set(HIPSPARSE_TEMPLATE "${PROJECT_BINARY_DIR}/clients/staging/hipsparse_template.yaml")
add_custom_command(
OUTPUT "${HIPSPARSE_TEMPLATE}"
COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/clients/include/hipsparse_template.yaml" "${HIPSPARSE_TEMPLATE}"
DEPENDS "${PROJECT_SOURCE_DIR}/clients/include/hipsparse_template.yaml"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
)
set(HIPSPARSE_GENTEST "${PROJECT_BINARY_DIR}/clients/staging/hipsparse_gentest.py")
add_custom_command(
OUTPUT "${HIPSPARSE_GENTEST}"
COMMAND ${CMAKE_COMMAND} -E copy "${PROJECT_SOURCE_DIR}/clients/common/hipsparse_gentest.py" "${HIPSPARSE_GENTEST}"
DEPENDS "${PROJECT_SOURCE_DIR}/clients/common/hipsparse_gentest.py"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
)
add_custom_target(hipsparse-common
DEPENDS "${HIPSPARSE_COMMON}" "${HIPSPARSE_TEMPLATE}" "${HIPSPARSE_CLIENTMATRICES}" "${HIPSPARSE_GENTEST}" "${HIPSPARSE_CONVERT}"
)
# Prepare testing data
set(HIPSPARSE_TEST_DATA "${PROJECT_BINARY_DIR}/clients/staging/hipsparse_test.data")
add_custom_command(OUTPUT "${HIPSPARSE_TEST_DATA}"
COMMAND ${Python3_EXECUTABLE} "${PROJECT_SOURCE_DIR}/clients/common/hipsparse_gentest.py" -m ${PROJECT_BINARY_DIR}/clients/matrices -I "${PROJECT_SOURCE_DIR}/clients/include" "${HIPSPARSE_TEST_YAML_INCLUDE}" -o "${HIPSPARSE_TEST_DATA}"
DEPENDS "${PROJECT_SOURCE_DIR}/clients/common/hipsparse_gentest.py" "${HIPSPARSE_TEST_YAML_INCLUDE}" "${PROJECT_SOURCE_DIR}/clients/include/hipsparse_common.yaml" ${HIPSPARSE_TEST_YAMLS}
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
add_custom_target(hipsparse-test-data
DEPENDS "${HIPSPARSE_TEST_DATA}" )
add_dependencies(hipsparse-test hipsparse-test-data hipsparse-common)
rocm_install(TARGETS hipsparse-test COMPONENT tests)
rocm_install(FILES ${HIPSPARSE_TEST_DATA} DESTINATION "${CMAKE_INSTALL_DATADIR}/hipsparse/test" COMPONENT tests)
# Only when both test_categories.yaml and shared/ctest exist (full rocm-libraries tree).
set(HIPSPARSE_CTEST_INSTALL_FILE "")
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/test_categories.yaml")
if(HIPSPARSE_HAS_CTEST_CATEGORIES)
message(STATUS "hipSPARSE: YAML-based test categorization")
file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/staging")
# Install-time CTestTestfile for TheRock: relative paths so ctest can run from installed location
set(HIPSPARSE_CTEST_INSTALL_FILE "${CMAKE_CURRENT_BINARY_DIR}/install_CTestTestfile.cmake")
file(WRITE "${HIPSPARSE_CTEST_INSTALL_FILE}"
[=[
# This is a test file generated by hipSPARSE for install time.
# Tests are defined with relative paths to work in the installed location.
]=]
)
apply_test_category_labels(
hipsparse-test
"${CMAKE_CURRENT_SOURCE_DIR}/test_categories.yaml"
"${PROJECT_BINARY_DIR}/staging"
"${HIPSPARSE_CTEST_INSTALL_FILE}"
)
else()
message(STATUS "hipSPARSE: shared/ctest not found (e.g. standalone checkout), skipping CTest categories")
endif()
else()
message(STATUS "hipSPARSE: No test_categories.yaml (CTest categories not used)")
endif()
if(HIPSPARSE_CTEST_INSTALL_FILE)
rocm_install(
FILES "${HIPSPARSE_CTEST_INSTALL_FILE}"
DESTINATION "${CMAKE_INSTALL_BINDIR}/hipsparse"
COMPONENT tests
RENAME "CTestTestfile.cmake"
)
endif()
# Windows-specific DLL copying
if(WIN32)
# For now adding in all .dll as dependency chain is not cmake based on win32
file(GLOB third_party_dlls
LIST_DIRECTORIES OFF
CONFIGURE_DEPENDS
$ENV{HIP_DIR}/bin/*.dll
$ENV{HIP_DIR}/bin/hipinfo.exe
${ROCSPARSE_PATH}/bin/rocsparse.dll
${PROJECT_SOURCE_DIR}/rtest.*
C:/Windows/System32/libomp140*.dll
)
foreach(file_i ${third_party_dlls})
add_custom_command(TARGET hipsparse-test POST_BUILD
COMMAND ${CMAKE_COMMAND} ARGS -E copy ${file_i} ${PROJECT_BINARY_DIR}/clients/staging/)
endforeach(file_i)
endif()