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

list(APPEND armnnRefBackendWorkloads_sources
    Abs.hpp
    ArgMinMax.cpp
    ArgMinMax.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
    FullyConnected.cpp
    FullyConnected.hpp
    Gather.cpp
    Gather.hpp
    InstanceNorm.cpp
    InstanceNorm.hpp
    LogSoftmax.cpp
    LogSoftmax.hpp
    LstmUtils.hpp
    LstmUtils.cpp
    Maximum.hpp
    Mean.cpp
    Mean.hpp
    Concatenate.hpp
    Concatenate.cpp
    Minimum.hpp
    Pad.cpp
    Pad.hpp
    Pooling2d.cpp
    Pooling2d.hpp
    PreluImpl.cpp
    PreluImpl.hpp
    RefActivationWorkload.cpp
    RefActivationWorkload.hpp
    RefArgMinMaxWorkload.cpp
    RefArgMinMaxWorkload.hpp
    RefBatchNormalizationWorkload.cpp
    RefBatchNormalizationWorkload.hpp
    RefBatchToSpaceNdWorkload.cpp
    RefBatchToSpaceNdWorkload.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
    RefFloorWorkload.cpp
    RefFloorWorkload.hpp
    RefFullyConnectedWorkload.cpp
    RefFullyConnectedWorkload.hpp
    RefGatherWorkload.cpp
    RefGatherWorkload.hpp
    RefInstanceNormalizationWorkload.cpp
    RefInstanceNormalizationWorkload.hpp
    RefL2NormalizationWorkload.cpp
    RefL2NormalizationWorkload.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
    RefReshapeWorkload.cpp
    RefReshapeWorkload.hpp
    RefResizeBilinearWorkload.cpp
    RefResizeBilinearWorkload.hpp
    RefResizeWorkload.cpp
    RefResizeWorkload.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
    RefWorkloads.hpp
    RefWorkloadUtils.hpp
    Resize.cpp
    Resize.hpp
    Rsqrt.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)
