# Copyright Advanced Micro Devices, Inc., or its affiliates.
# SPDX-License-Identifier:  MIT

target_sources(tensilelite-host
    PRIVATE
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/hip/HipHardware.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/hip/HipSolutionAdapter.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/hip/HipUtils.hpp"

        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/Base.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/Containers.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/ContractionPredicates.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/ContractionSolution.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/ExactLogicLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/FreeSizeLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/GranularitySelectionLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/HasTraits.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/MLFeatures.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/MLPClassificationLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/MapLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/MatchingLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/PlaceholderLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/Predicates.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/Properties.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization/SolutionLibrary.hpp"

        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/AMDGPU.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/AMDGPUPredicates.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/AMDGPU_Detail.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Activation.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/ArithmeticUnitTypes.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/CachingLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Comparison.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/ContractionLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/ContractionProblem.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/ContractionProblemPredicates.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/ContractionProblemProperties.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/ContractionProblem_Detail.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/ContractionProblem_fwd.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/ContractionSolution.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/ContractionSolution_fwd.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Contractions.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/DataTypes.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/DataTypes_BFloat16.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/DataTypes_Float8_BFloat8.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/DataTypes_Half.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/DataTypes_Int8.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/DataTypes_Int8x4.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/DataTypes_XFloat32.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Debug.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Distance.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/DistinctType.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/EmbeddedData.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/EmbeddedLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/ExactLogicLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/FreeSizeLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/GranularitySelectionLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/KernelArguments.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/KernelLanguageTypes.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/MLFeatures.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/MLPClassification.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/MLPClassificationLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Macros.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/MapLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/MasterSolutionLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/MatchingLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/PerformanceMetricTypes.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/PlaceholderLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Predicates.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/ProblemKey.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Properties.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/PropertyMatching.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/ScalarValueTypes.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Serialization.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/SingleSolutionLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Singleton.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/SolutionLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/SolutionLibrary_fwd.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/SolutionMapLibrary.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Tensile.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Tensile_fwd.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/TensorDescriptor.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/TensorDescriptor_Detail.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/TensorDescriptor_fwd.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/TensorOps.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/TensorOps_fwd.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/Utils.hpp"
        "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/geom.hpp"
)

if(HIPBLASLT_ENABLE_LLVM)
    target_sources(tensilelite-host
        PRIVATE
            "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/llvm/Loading.hpp"
            "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/llvm/YAML.hpp"
    )
endif()

if(HIPBLASLT_ENABLE_MSGPACK)
    target_sources(tensilelite-host
        PRIVATE
            "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/msgpack/Loading.hpp"
            "${CMAKE_CURRENT_SOURCE_DIR}/Tensile/msgpack/MessagePack.hpp"
    )
endif()
