# Copyright Advanced Micro Devices, Inc., or its affiliates. # SPDX-License-Identifier: MIT include(GenerateExportHeader) # Configure version header. Build-time feature flags consumed by # #cmakedefine in hipsparse-version.h.in must be set (or unset) prior to # this configure_file() call. set(HIPSPARSE_WITH_SPMV_BSR ${HIPSPARSE_ENABLE_SPMV_BSR}) set(HIPSPARSE_WITH_CSC_TRSV ${BUILD_WITH_CSC_TRSV}) set(HIPSPARSE_WITH_CSC_TRSM ${BUILD_WITH_CSC_TRSM}) configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/hipsparse-version.h.in" "${PROJECT_BINARY_DIR}/include/hipsparse/hipsparse-version.h" @ONLY ) # Copy public header configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/hipsparse.h" "${PROJECT_BINARY_DIR}/include/hipsparse/hipsparse.h" COPYONLY ) set(HEADER_FILES # Level1 internal/level1/hipsparse_axpyi.h internal/level1/hipsparse_dotci.h internal/level1/hipsparse_doti.h internal/level1/hipsparse_gthr.h internal/level1/hipsparse_gthrz.h internal/level1/hipsparse_roti.h internal/level1/hipsparse_sctr.h # Level2 internal/level2/hipsparse_bsrmv.h internal/level2/hipsparse_bsrsv.h internal/level2/hipsparse_bsrxmv.h internal/level2/hipsparse_csrmv.h internal/level2/hipsparse_csrsv.h internal/level2/hipsparse_gemvi.h internal/level2/hipsparse_hybmv.h # Level3 internal/level3/hipsparse_bsrmm.h internal/level3/hipsparse_bsrsm.h internal/level3/hipsparse_csrmm.h internal/level3/hipsparse_csrsm.h internal/level3/hipsparse_gemmi.h # Extra internal/extra/hipsparse_csrgeam.h internal/extra/hipsparse_csrgemm.h # Precond internal/precond/hipsparse_bsric0.h internal/precond/hipsparse_bsrilu0.h internal/precond/hipsparse_csric0.h internal/precond/hipsparse_csrilu0.h internal/precond/hipsparse_gpsv_interleaved_batch.h internal/precond/hipsparse_gtsv_interleaved_batch.h internal/precond/hipsparse_gtsv_nopivot.h internal/precond/hipsparse_gtsv_strided_batch.h internal/precond/hipsparse_gtsv.h # Reorder internal/reorder/hipsparse_csrcolor.h # Conversion internal/conversion/hipsparse_bsr2csr.h internal/conversion/hipsparse_coo2csr.h internal/conversion/hipsparse_coosort.h internal/conversion/hipsparse_create_identity_permutation.h internal/conversion/hipsparse_csc2dense.h internal/conversion/hipsparse_cscsort.h internal/conversion/hipsparse_csr2bsr.h internal/conversion/hipsparse_csr2coo.h internal/conversion/hipsparse_csr2csc.h internal/conversion/hipsparse_csr2csr_compress.h internal/conversion/hipsparse_csr2csru.h internal/conversion/hipsparse_csr2dense.h internal/conversion/hipsparse_csr2gebsr.h internal/conversion/hipsparse_csr2hyb.h internal/conversion/hipsparse_csrsort.h internal/conversion/hipsparse_csru2csr.h internal/conversion/hipsparse_dense2csc.h internal/conversion/hipsparse_dense2csr.h internal/conversion/hipsparse_gebsr2csr.h internal/conversion/hipsparse_gebsr2gebsc.h internal/conversion/hipsparse_gebsr2gebsr.h internal/conversion/hipsparse_hyb2csr.h internal/conversion/hipsparse_nnz_compress.h internal/conversion/hipsparse_nnz.h internal/conversion/hipsparse_prune_csr2csr_by_percentage.h internal/conversion/hipsparse_prune_csr2csr.h internal/conversion/hipsparse_prune_dense2csr_by_percentage.h internal/conversion/hipsparse_prune_dense2csr.h # Generic internal/generic/hipsparse_axpby.h internal/generic/hipsparse_dense2sparse.h internal/generic/hipsparse_gather.h internal/generic/hipsparse_rot.h internal/generic/hipsparse_scatter.h internal/generic/hipsparse_sddmm.h internal/generic/hipsparse_sparse2dense.h internal/generic/hipsparse_spgemm_reuse.h internal/generic/hipsparse_spgemm.h internal/generic/hipsparse_spmm.h internal/generic/hipsparse_spmv.h internal/generic/hipsparse_spsm.h internal/generic/hipsparse_spsv.h internal/generic/hipsparse_spvv.h # Auxiliary hipsparse-bfloat16.h hipsparse-float16.h hipsparse-types.h hipsparse-auxiliary.h hipsparse-generic-types.h hipsparse-generic-auxiliary.h ) foreach(file_i ${HEADER_FILES}) configure_file( "${CMAKE_CURRENT_SOURCE_DIR}/${file_i}" "${PROJECT_BINARY_DIR}/include/hipsparse/${file_i}" COPYONLY ) endforeach() generate_export_header(hipsparse EXPORT_FILE_NAME "${PROJECT_BINARY_DIR}/include/hipsparse/hipsparse-export.h" ) target_include_directories(hipsparse PUBLIC $ $ $ $ )