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

list(APPEND armnnRefBackendWorkloads_sources
    Activation.cpp
    Activation.hpp
    BaseIterator.hpp
    BatchNormImpl.cpp
    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
    Concatenate.hpp
    Concatenate.cpp
    Minimum.hpp
    Pad.cpp
    Pad.hpp
    Pooling2d.cpp
    Pooling2d.hpp
    RefActivationWorkload.cpp
    RefActivationWorkload.hpp
    RefBatchNormalizationWorkload.cpp
    RefBatchNormalizationWorkload.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
    RefDepthwiseConvolution2dWorkload.cpp
    RefDepthwiseConvolution2dWorkload.hpp
    RefDequantizeWorkload.cpp
    RefDequantizeWorkload.hpp
    RefDetectionPostProcessWorkload.cpp
    RefDetectionPostProcessWorkload.hpp
    RefFakeQuantizationFloat32Workload.cpp
    RefFakeQuantizationFloat32Workload.hpp
    RefFloorWorkload.cpp
    RefFloorWorkload.hpp
    RefFullyConnectedWorkload.cpp
    RefFullyConnectedWorkload.hpp
    RefGatherWorkload.cpp
    RefGatherWorkload.hpp
    RefL2NormalizationFloat32Workload.cpp
    RefL2NormalizationFloat32Workload.hpp
    RefLstmWorkload.cpp
    RefLstmWorkload.hpp
    RefConcatWorkload.cpp
    RefConcatWorkload.hpp
    RefNormalizationWorkload.cpp
    RefNormalizationWorkload.hpp
    RefPadWorkload.cpp
    RefPadWorkload.hpp
    RefPermuteWorkload.cpp
    RefPermuteWorkload.hpp
    RefPooling2dWorkload.cpp
    RefPooling2dWorkload.hpp
    RefQuantizeWorkload.cpp
    RefQuantizeWorkload.hpp
    RefReshapeWorkload.cpp
    RefReshapeWorkload.hpp
    RefResizeBilinearFloat32Workload.cpp
    RefResizeBilinearFloat32Workload.hpp
    RefResizeBilinearUint8Workload.cpp
    RefResizeBilinearUint8Workload.hpp
    RefRsqrtWorkload.cpp
    RefRsqrtWorkload.hpp
    RefSoftmaxWorkload.cpp
    RefSoftmaxWorkload.hpp
    RefSpaceToBatchNdWorkload.cpp
    RefSpaceToBatchNdWorkload.hpp
    RefSplitterWorkload.cpp
    RefSplitterWorkload.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
    Splitter.cpp
    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)
