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

list(APPEND armnnRefBackendWorkloads_sources
    Activation.cpp
    Activation.hpp
    BatchNormImpl.hpp
    BatchToSpaceNd.cpp
    BatchToSpaceNd.hpp
    Broadcast.cpp
    Broadcast.hpp
    ConvImpl.cpp
    ConvImpl.hpp
    ElementwiseFunction.cpp
    ElementwiseFunction.hpp
    FullyConnected.cpp
    FullyConnected.hpp
    Merger.hpp
    Pad.cpp
    Pad.hpp
    Pooling2d.cpp
    Pooling2d.hpp
    RefActivationFloat32Workload.cpp
    RefActivationFloat32Workload.hpp
    RefActivationUint8Workload.cpp
    RefActivationUint8Workload.hpp
    RefBaseConstantWorkload.cpp
    RefBaseConstantWorkload.hpp
    RefBatchNormalizationFloat32Workload.cpp
    RefBatchNormalizationFloat32Workload.hpp
    RefBatchNormalizationUint8Workload.cpp
    RefBatchNormalizationUint8Workload.hpp
    RefBatchToSpaceNdFloat32Workload.cpp
    RefBatchToSpaceNdFloat32Workload.hpp
    RefBatchToSpaceNdUint8Workload.cpp
    RefBatchToSpaceNdUint8Workload.hpp
    RefConstantFloat32Workload.cpp
    RefConstantFloat32Workload.hpp
    RefConstantUint8Workload.cpp
    RefConstantUint8Workload.hpp
    RefConvertFp16ToFp32Workload.cpp
    RefConvertFp16ToFp32Workload.hpp
    RefConvertFp32ToFp16Workload.cpp
    RefConvertFp32ToFp16Workload.hpp
    RefConvolution2dFloat32Workload.cpp
    RefConvolution2dFloat32Workload.hpp
    RefConvolution2dUint8Workload.cpp
    RefConvolution2dUint8Workload.hpp
    RefElementwiseWorkload.cpp
    RefElementwiseWorkload.hpp
    RefDepthwiseConvolution2dFloat32Workload.cpp
    RefDepthwiseConvolution2dFloat32Workload.hpp
    RefDepthwiseConvolution2dUint8Workload.cpp
    RefDepthwiseConvolution2dUint8Workload.hpp
    RefFakeQuantizationFloat32Workload.cpp
    RefFakeQuantizationFloat32Workload.hpp
    RefFloorFloat32Workload.cpp
    RefFloorFloat32Workload.hpp
    RefFullyConnectedFloat32Workload.cpp
    RefFullyConnectedFloat32Workload.hpp
    RefFullyConnectedUint8Workload.cpp
    RefFullyConnectedUint8Workload.hpp
    RefL2NormalizationFloat32Workload.cpp
    RefL2NormalizationFloat32Workload.hpp
    RefLstmFloat32Workload.cpp
    RefLstmFloat32Workload.hpp
    RefMergerFloat32Workload.cpp
    RefMergerFloat32Workload.hpp
    RefMergerUint8Workload.cpp
    RefMergerUint8Workload.hpp
    RefNormalizationFloat32Workload.cpp
    RefNormalizationFloat32Workload.hpp
    RefPadWorkload.cpp
    RefPadWorkload.hpp
    RefPermuteWorkload.cpp
    RefPermuteWorkload.hpp
    RefPooling2dFloat32Workload.cpp
    RefPooling2dFloat32Workload.hpp
    RefPooling2dUint8Workload.cpp
    RefPooling2dUint8Workload.hpp
    RefReshapeFloat32Workload.cpp
    RefReshapeFloat32Workload.hpp
    RefReshapeUint8Workload.cpp
    RefReshapeUint8Workload.hpp
    RefResizeBilinearFloat32Workload.cpp
    RefResizeBilinearFloat32Workload.hpp
    RefResizeBilinearUint8Workload.cpp
    RefResizeBilinearUint8Workload.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
    Softmax.cpp
    Softmax.hpp
    SpaceToBatchNd.hpp
    SpaceToBatchNd.cpp
    Splitter.hpp
    StridedSlice.hpp
    StridedSlice.cpp
    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)
