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

list(APPEND armnnRefBackendWorkloads_sources
    Abs.hpp
    Activation.cpp
    Activation.hpp
    ArgMinMax.cpp
    ArgMinMax.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
    DepthToSpace.cpp
    DepthToSpace.hpp
    DetectionPostProcess.cpp
    DetectionPostProcess.hpp
    Dequantize.cpp
    Dequantize.hpp
    ElementwiseFunction.cpp
    ElementwiseFunction.hpp
    Encoders.hpp
    Exp.hpp
    Fill.cpp
    Fill.hpp
    FullyConnected.cpp
    FullyConnected.hpp
    Gather.cpp
    Gather.hpp
    InstanceNorm.cpp
    InstanceNorm.hpp
    Log.hpp
    LogSoftmax.cpp
    LogSoftmax.hpp
    Lstm.cpp
    Lstm.hpp
    LstmUtils.hpp
    LstmUtils.cpp
    Maximum.hpp
    Concatenate.hpp
    Concatenate.cpp
    Minimum.hpp
    Pad.cpp
    Pad.hpp
    Pooling2d.cpp
    Pooling2d.hpp
    PreluImpl.cpp
    PreluImpl.hpp
    Reduce.cpp
    Reduce.hpp
    RefActivationWorkload.cpp
    RefActivationWorkload.hpp
    RefArgMinMaxWorkload.cpp
    RefArgMinMaxWorkload.hpp
    RefBatchNormalizationWorkload.cpp
    RefBatchNormalizationWorkload.hpp
    RefBatchToSpaceNdWorkload.cpp
    RefBatchToSpaceNdWorkload.hpp
    RefCastWorkload.cpp
    RefCastWorkload.hpp
    RefChannelShuffleWorkload.cpp
    RefChannelShuffleWorkload.hpp
    RefShapeWorkload.hpp
    RefComparisonWorkload.cpp
    RefComparisonWorkload.hpp
    RefConcatWorkload.cpp
    RefConcatWorkload.hpp
    RefConstantWorkload.cpp
    RefConstantWorkload.hpp
    RefConvertBf16ToFp32Workload.cpp
    RefConvertBf16ToFp32Workload.hpp
    RefConvertFp16ToFp32Workload.cpp
    RefConvertFp16ToFp32Workload.hpp
    RefConvertFp32ToBf16Workload.cpp
    RefConvertFp32ToBf16Workload.hpp
    RefConvertFp32ToFp16Workload.cpp
    RefConvertFp32ToFp16Workload.hpp
    RefConvolution2dWorkload.cpp
    RefConvolution2dWorkload.hpp
    RefElementwiseWorkload.cpp
    RefElementwiseWorkload.hpp
    RefDebugWorkload.cpp
    RefDebugWorkload.hpp
    RefDepthToSpaceWorkload.cpp
    RefDepthToSpaceWorkload.hpp
    RefDepthwiseConvolution2dWorkload.cpp
    RefDepthwiseConvolution2dWorkload.hpp
    RefDequantizeWorkload.cpp
    RefDequantizeWorkload.hpp
    RefDetectionPostProcessWorkload.cpp
    RefDetectionPostProcessWorkload.hpp
    RefElementwiseUnaryWorkload.cpp
    RefElementwiseUnaryWorkload.hpp
    RefFakeQuantizationFloat32Workload.cpp
    RefFakeQuantizationFloat32Workload.hpp
    RefFillWorkload.cpp
    RefFillWorkload.hpp
    RefFloorWorkload.cpp
    RefFloorWorkload.hpp
    RefFullyConnectedWorkload.cpp
    RefFullyConnectedWorkload.hpp
    RefGatherWorkload.cpp
    RefGatherWorkload.hpp
    RefInstanceNormalizationWorkload.cpp
    RefInstanceNormalizationWorkload.hpp
    RefL2NormalizationWorkload.cpp
    RefL2NormalizationWorkload.hpp
    RefLogicalBinaryWorkload.cpp
    RefLogicalBinaryWorkload.hpp
    RefLogicalUnaryWorkload.cpp
    RefLogicalUnaryWorkload.hpp
    RefLogSoftmaxWorkload.cpp
    RefLogSoftmaxWorkload.hpp
    RefLstmWorkload.cpp
    RefLstmWorkload.hpp
    RefMeanWorkload.cpp
    RefMeanWorkload.hpp
    RefNormalizationWorkload.cpp
    RefNormalizationWorkload.hpp
    RefPadWorkload.cpp
    RefPadWorkload.hpp
    RefPermuteWorkload.cpp
    RefPermuteWorkload.hpp
    RefPooling2dWorkload.cpp
    RefPooling2dWorkload.hpp
    RefPreluWorkload.cpp
    RefPreluWorkload.hpp
    RefQuantizeWorkload.cpp
    RefQuantizeWorkload.hpp
    RefQLstmWorkload.cpp
    RefQLstmWorkload.hpp
    RefRankWorkload.hpp
    RefReduceWorkload.cpp
    RefReduceWorkload.hpp
    RefReshapeWorkload.cpp
    RefReshapeWorkload.hpp
    RefResizeBilinearWorkload.cpp
    RefResizeBilinearWorkload.hpp
    RefResizeWorkload.cpp
    RefResizeWorkload.hpp
    RefShapeWorkload.hpp
    RefSliceWorkload.cpp
    RefSliceWorkload.hpp
    RefSoftmaxWorkload.cpp
    RefSoftmaxWorkload.hpp
    RefSpaceToBatchNdWorkload.cpp
    RefSpaceToBatchNdWorkload.hpp
    RefSpaceToDepthWorkload.cpp
    RefSpaceToDepthWorkload.hpp
    RefSplitterWorkload.cpp
    RefSplitterWorkload.hpp
    RefStackWorkload.cpp
    RefStackWorkload.hpp
    RefStridedSliceWorkload.cpp
    RefStridedSliceWorkload.hpp
    RefTransposeConvolution2dWorkload.cpp
    RefTransposeConvolution2dWorkload.hpp
    RefTransposeWorkload.cpp
    RefTransposeWorkload.hpp
    RefUnidirectionalSequenceLstmWorkload.cpp
    RefUnidirectionalSequenceLstmWorkload.hpp
    RefWorkloads.hpp
    RefWorkloadUtils.hpp
    Resize.cpp
    Resize.hpp
    Rsqrt.hpp
    Sin.hpp
    Slice.cpp
    Slice.hpp
    Softmax.cpp
    Softmax.hpp
    SpaceToBatchNd.hpp
    SpaceToBatchNd.cpp
    SpaceToDepth.hpp
    SpaceToDepth.cpp
    Splitter.hpp
    Splitter.cpp
    Sqrt.hpp
    Stack.cpp
    Stack.hpp
    StridedSlice.hpp
    StridedSlice.cpp
    StringMapping.cpp
    StringMapping.hpp
    TensorBufferArrayView.hpp
    TransposeConvolution2d.cpp
    TransposeConvolution2d.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)
target_include_directories(armnnRefBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
target_include_directories(armnnRefBackendWorkloads PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
