#
# Copyright © 2017 Arm Ltd. All rights reserved.
# SPDX-License-Identifier: MIT
#

list(APPEND armnnRefBackendWorkloads_sources
    Activation.cpp
    Activation.hpp
    BaseIterator.hpp
    BatchNormImpl.hpp
    BatchToSpaceNd.cpp
    BatchToSpaceNd.hpp
    Broadcast.cpp
    Broadcast.hpp
    ConvImpl.cpp
    ConvImpl.hpp
    Debug.cpp
    Debug.hpp
    Decoders.hpp
    DetectionPostProcess.cpp
    DetectionPostProcess.hpp
    ElementwiseFunction.cpp
    ElementwiseFunction.hpp
    Encoders.hpp
    FullyConnected.cpp
    FullyConnected.hpp
    Gather.cpp
    Gather.hpp
    LstmUtils.hpp
    Maximum.hpp
    Merger.hpp
    Merger.cpp
    Minimum.hpp
    Pad.cpp
    Pad.hpp
    Pooling2d.cpp
    Pooling2d.hpp
    RefActivationWorkload.cpp
    RefActivationWorkload.hpp
    RefBatchNormalizationFloat32Workload.cpp
    RefBatchNormalizationFloat32Workload.hpp
    RefBatchNormalizationUint8Workload.cpp
    RefBatchNormalizationUint8Workload.hpp
    RefBatchToSpaceNdFloat32Workload.cpp
    RefBatchToSpaceNdFloat32Workload.hpp
    RefBatchToSpaceNdUint8Workload.cpp
    RefBatchToSpaceNdUint8Workload.hpp
    RefConstantWorkload.cpp
    RefConstantWorkload.hpp
    RefConvertFp16ToFp32Workload.cpp
    RefConvertFp16ToFp32Workload.hpp
    RefConvertFp32ToFp16Workload.cpp
    RefConvertFp32ToFp16Workload.hpp
    RefConvolution2dWorkload.cpp
    RefConvolution2dWorkload.hpp
    RefElementwiseWorkload.cpp
    RefElementwiseWorkload.hpp
    RefDebugWorkload.cpp
    RefDebugWorkload.hpp
    RefDepthwiseConvolution2dFloat32Workload.cpp
    RefDepthwiseConvolution2dFloat32Workload.hpp
    RefDepthwiseConvolution2dUint8Workload.cpp
    RefDepthwiseConvolution2dUint8Workload.hpp
    RefDequantizeWorkload.cpp
    RefDequantizeWorkload.hpp
    RefDetectionPostProcessUint8Workload.cpp
    RefDetectionPostProcessUint8Workload.hpp
    RefDetectionPostProcessFloat32Workload.cpp
    RefDetectionPostProcessFloat32Workload.hpp
    RefFakeQuantizationFloat32Workload.cpp
    RefFakeQuantizationFloat32Workload.hpp
    RefFloorFloat32Workload.cpp
    RefFloorFloat32Workload.hpp
    RefFullyConnectedFloat32Workload.cpp
    RefFullyConnectedFloat32Workload.hpp
    RefFullyConnectedUint8Workload.cpp
    RefFullyConnectedUint8Workload.hpp
    RefGatherWorkload.cpp
    RefGatherWorkload.hpp
    RefL2NormalizationFloat32Workload.cpp
    RefL2NormalizationFloat32Workload.hpp
    RefLstmWorkload.cpp
    RefLstmWorkload.hpp
        RefConcatWorkload.cpp
        RefConcatWorkload.hpp
    RefNormalizationFloat32Workload.cpp
    RefNormalizationFloat32Workload.hpp
    RefPadWorkload.cpp
    RefPadWorkload.hpp
    RefPermuteWorkload.cpp
    RefPermuteWorkload.hpp
    RefPooling2dFloat32Workload.cpp
    RefPooling2dFloat32Workload.hpp
    RefPooling2dUint8Workload.cpp
    RefPooling2dUint8Workload.hpp
    RefQuantizeWorkload.cpp
    RefQuantizeWorkload.hpp
    RefReshapeFloat32Workload.cpp
    RefReshapeFloat32Workload.hpp
    RefReshapeUint8Workload.cpp
    RefReshapeUint8Workload.hpp
    RefResizeBilinearFloat32Workload.cpp
    RefResizeBilinearFloat32Workload.hpp
    RefResizeBilinearUint8Workload.cpp
    RefResizeBilinearUint8Workload.hpp
    RefRsqrtFloat32Workload.cpp
    RefRsqrtFloat32Workload.hpp
    RefSoftmaxFloat32Workload.cpp
    RefSoftmaxFloat32Workload.hpp
    RefSoftmaxUint8Workload.cpp
    RefSoftmaxUint8Workload.hpp
    RefSpaceToBatchNdWorkload.cpp
    RefSpaceToBatchNdWorkload.hpp
    RefSplitterFloat32Workload.cpp
    RefSplitterFloat32Workload.hpp
    RefSplitterUint8Workload.cpp
    RefSplitterUint8Workload.hpp
    RefStridedSliceWorkload.cpp
    RefStridedSliceWorkload.hpp
    RefWorkloads.hpp
    RefWorkloadUtils.hpp
    ResizeBilinear.cpp
    ResizeBilinear.hpp
    Rsqrt.cpp
    Rsqrt.hpp
    Softmax.cpp
    Softmax.hpp
    SpaceToBatchNd.hpp
    SpaceToBatchNd.cpp
    Splitter.hpp
    StridedSlice.hpp
    StridedSlice.cpp
    StringMapping.cpp
    StringMapping.hpp
    TensorBufferArrayView.hpp
    Mean.cpp
    Mean.hpp
    RefMeanFloat32Workload.cpp
    RefMeanFloat32Workload.hpp
    RefMeanUint8Workload.cpp
    RefMeanUint8Workload.hpp
)

add_library(armnnRefBackendWorkloads OBJECT ${armnnRefBackendWorkloads_sources})
target_include_directories(armnnRefBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
target_include_directories(armnnRefBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
target_include_directories(armnnRefBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
