1*89c4ff92SAndroid Build Coastguard Worker# 2*89c4ff92SAndroid Build Coastguard Worker# Copyright © 2017-2023 Arm Ltd and Contributors. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker# Copyright © 2020 NXP 4*89c4ff92SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT 5*89c4ff92SAndroid Build Coastguard Worker# 6*89c4ff92SAndroid Build Coastguard Workercmake_minimum_required (VERSION 3.7.0) 7*89c4ff92SAndroid Build Coastguard Workerproject(armnn) 8*89c4ff92SAndroid Build Coastguard Workerset(CMAKE_CXX_STANDARD 17) 9*89c4ff92SAndroid Build Coastguard Workerset(CMAKE_CXX_STANDARD_REQUIRED ON) 10*89c4ff92SAndroid Build Coastguard Worker 11*89c4ff92SAndroid Build Coastguard Workerset(additional_cmake_files) 12*89c4ff92SAndroid Build Coastguard Workerlist(APPEND additional_cmake_files 13*89c4ff92SAndroid Build Coastguard Worker cmake/ArmnnVersion.cmake 14*89c4ff92SAndroid Build Coastguard Worker cmake/ClassicDelegateVersion.cmake 15*89c4ff92SAndroid Build Coastguard Worker cmake/OpaqueDelegateVersion.cmake 16*89c4ff92SAndroid Build Coastguard Worker cmake/ParserVersion.cmake 17*89c4ff92SAndroid Build Coastguard Worker cmake/Utils.cmake 18*89c4ff92SAndroid Build Coastguard Worker cmake/GlobalConfig.cmake 19*89c4ff92SAndroid Build Coastguard Worker cmake/AddDllCopyCommands.cmake 20*89c4ff92SAndroid Build Coastguard Worker cmake/ArmnnTestUtilsVersion.cmake) 21*89c4ff92SAndroid Build Coastguard Worker 22*89c4ff92SAndroid Build Coastguard Workerforeach(cmake_file ${additional_cmake_files}) 23*89c4ff92SAndroid Build Coastguard Worker include(${cmake_file}) 24*89c4ff92SAndroid Build Coastguard Workerendforeach() 25*89c4ff92SAndroid Build Coastguard Worker 26*89c4ff92SAndroid Build Coastguard Workercmake_policy(SET CMP0057 NEW) 27*89c4ff92SAndroid Build Coastguard Worker 28*89c4ff92SAndroid Build Coastguard Worker# If the root of the tensorflow source tree has not been specified 29*89c4ff92SAndroid Build Coastguard Worker# and we are trying to build the tensorflow lite parser make 30*89c4ff92SAndroid Build Coastguard Worker# our best guess as to where it will be i.e. one directory above 31*89c4ff92SAndroid Build Coastguard Worker# the one this CMakeLists.txt file lives in, in a subdirectory 32*89c4ff92SAndroid Build Coastguard Worker# called tensorflow 33*89c4ff92SAndroid Build Coastguard Workerif (BUILD_TF_LITE_PARSER AND "${TENSORFLOW_ROOT}" STREQUAL "") 34*89c4ff92SAndroid Build Coastguard Worker set(TENSORFLOW_ROOT "${PROJECT_SOURCE_DIR}/../tensorflow" CACHE INTERNAL "") 35*89c4ff92SAndroid Build Coastguard Worker message(STATUS "Set TENSORFLOW_ROOT: ${TENSORFLOW_ROOT}") 36*89c4ff92SAndroid Build Coastguard Workerelse() 37*89c4ff92SAndroid Build Coastguard Worker message(STATUS "TENSORFLOW_ROOT: ${TENSORFLOW_ROOT}") 38*89c4ff92SAndroid Build Coastguard Workerendif() 39*89c4ff92SAndroid Build Coastguard Worker 40*89c4ff92SAndroid Build Coastguard Workerset(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/delegate/cmake/Modules/") 41*89c4ff92SAndroid Build Coastguard Worker 42*89c4ff92SAndroid Build Coastguard Workerset(as_subproject Armnn) 43*89c4ff92SAndroid Build Coastguard Worker 44*89c4ff92SAndroid Build Coastguard Workermacro(find_package) 45*89c4ff92SAndroid Build Coastguard Worker if(NOT ${ARGV0} IN_LIST as_subproject) 46*89c4ff92SAndroid Build Coastguard Worker _find_package(${ARGV}) 47*89c4ff92SAndroid Build Coastguard Worker endif() 48*89c4ff92SAndroid Build Coastguard Workerendmacro() 49*89c4ff92SAndroid Build Coastguard Worker 50*89c4ff92SAndroid Build Coastguard Workerif (DYNAMIC_BACKEND_PATHS) 51*89c4ff92SAndroid Build Coastguard Worker # It's expected to have the format: DYNAMIC_BACKEND_PATHS="PATH_1:PATH_2...:PATH_N" 52*89c4ff92SAndroid Build Coastguard Worker add_definitions('-DDYNAMIC_BACKEND_PATHS="${DYNAMIC_BACKEND_PATHS}"') 53*89c4ff92SAndroid Build Coastguard Workerendif() 54*89c4ff92SAndroid Build Coastguard Worker 55*89c4ff92SAndroid Build Coastguard Workerinclude(GNUInstallDirs) 56*89c4ff92SAndroid Build Coastguard Worker 57*89c4ff92SAndroid Build Coastguard Workeradd_subdirectory(profiling/common/src) 58*89c4ff92SAndroid Build Coastguard Workeradd_subdirectory(profiling/client/src) 59*89c4ff92SAndroid Build Coastguard Worker 60*89c4ff92SAndroid Build Coastguard Workeradd_subdirectory(samples) 61*89c4ff92SAndroid Build Coastguard Workeradd_subdirectory(src/armnnTfLiteParser) 62*89c4ff92SAndroid Build Coastguard Workeradd_subdirectory(src/armnnSerializer) 63*89c4ff92SAndroid Build Coastguard Workeradd_subdirectory(src/armnnDeserializer) 64*89c4ff92SAndroid Build Coastguard Workeradd_subdirectory(src/armnnTestUtils) 65*89c4ff92SAndroid Build Coastguard Worker 66*89c4ff92SAndroid Build Coastguard Workerif (BUILD_TESTS) 67*89c4ff92SAndroid Build Coastguard Worker add_subdirectory(tests) 68*89c4ff92SAndroid Build Coastguard Workerendif() 69*89c4ff92SAndroid Build Coastguard Worker 70*89c4ff92SAndroid Build Coastguard Worker# Include the additional cmake files in their own target so that they will appear nicely in IDEs 71*89c4ff92SAndroid Build Coastguard Workeradd_custom_target(AdditionalCMakeFiles SOURCES ${additional_cmake_files}) 72*89c4ff92SAndroid Build Coastguard Worker 73*89c4ff92SAndroid Build Coastguard Workerset(armnnUtils_sources) 74*89c4ff92SAndroid Build Coastguard Workerlist(APPEND armnnUtils_sources 75*89c4ff92SAndroid Build Coastguard Worker include/armnnUtils/CompatibleTypes.hpp 76*89c4ff92SAndroid Build Coastguard Worker include/armnnUtils/DataLayoutIndexed.hpp 77*89c4ff92SAndroid Build Coastguard Worker include/armnnUtils/Permute.hpp 78*89c4ff92SAndroid Build Coastguard Worker include/armnnUtils/Filesystem.hpp 79*89c4ff92SAndroid Build Coastguard Worker include/armnnUtils/FloatingPointComparison.hpp 80*89c4ff92SAndroid Build Coastguard Worker include/armnnUtils/FloatingPointConverter.hpp 81*89c4ff92SAndroid Build Coastguard Worker include/armnnUtils/QuantizeHelper.hpp 82*89c4ff92SAndroid Build Coastguard Worker include/armnnUtils/TContainer.hpp 83*89c4ff92SAndroid Build Coastguard Worker include/armnnUtils/TensorUtils.hpp 84*89c4ff92SAndroid Build Coastguard Worker include/armnnUtils/Transpose.hpp 85*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/BFloat16.hpp 86*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/CompatibleTypes.cpp 87*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/Filesystem.cpp 88*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/GraphTopologicalSort.hpp 89*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/Half.hpp 90*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/Permute.cpp 91*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/DataLayoutIndexed.cpp 92*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/DotSerializer.cpp 93*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/DotSerializer.hpp 94*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/HeapProfiling.cpp 95*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/HeapProfiling.hpp 96*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/LeakChecking.cpp 97*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/LeakChecking.hpp 98*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/ModelAccuracyChecker.cpp 99*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/ModelAccuracyChecker.hpp 100*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/FloatingPointConverter.cpp 101*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/VerificationHelpers.hpp 102*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/VerificationHelpers.cpp 103*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/ParserHelper.hpp 104*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/ParserHelper.cpp 105*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/ParserPrototxtFixture.hpp 106*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/ProfilingOptionsConverter.hpp 107*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/ProfilingOptionsConverter.cpp 108*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/PrototxtConversions.hpp 109*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/PrototxtConversions.cpp 110*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/TensorIOUtils.hpp 111*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/TensorUtils.cpp 112*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/Transpose.cpp 113*89c4ff92SAndroid Build Coastguard Worker ) 114*89c4ff92SAndroid Build Coastguard Worker 115*89c4ff92SAndroid Build Coastguard Workeradd_library_ex(armnnUtils STATIC ${armnnUtils_sources}) 116*89c4ff92SAndroid Build Coastguard Worker 117*89c4ff92SAndroid Build Coastguard Workertarget_include_directories(armnnUtils PRIVATE src/backends) 118*89c4ff92SAndroid Build Coastguard Worker 119*89c4ff92SAndroid Build Coastguard Workerif(BUILD_ONNX_PARSER) 120*89c4ff92SAndroid Build Coastguard Worker set(armnn_onnx_parser_sources) 121*89c4ff92SAndroid Build Coastguard Worker list(APPEND armnn_onnx_parser_sources 122*89c4ff92SAndroid Build Coastguard Worker include/armnnOnnxParser/IOnnxParser.hpp 123*89c4ff92SAndroid Build Coastguard Worker include/armnnOnnxParser/Version.hpp 124*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/OnnxParser.hpp 125*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/OnnxParser.cpp 126*89c4ff92SAndroid Build Coastguard Worker ${ONNX_GENERATED_SOURCES}/onnx/onnx.pb.cc 127*89c4ff92SAndroid Build Coastguard Worker ) 128*89c4ff92SAndroid Build Coastguard Worker # The generated onnx protobuf .cc files are not warning clean and we can't fix them. 129*89c4ff92SAndroid Build Coastguard Worker if(COMPILER_IS_GNU_LIKE) 130*89c4ff92SAndroid Build Coastguard Worker set_source_files_properties(${ONNX_GENERATED_SOURCES}/onnx/onnx.pb.cc PROPERTIES COMPILE_FLAGS "-Wno-conversion -Wno-sign-conversion") 131*89c4ff92SAndroid Build Coastguard Worker endif() 132*89c4ff92SAndroid Build Coastguard Worker 133*89c4ff92SAndroid Build Coastguard Worker add_library_ex(armnnOnnxParser SHARED ${armnn_onnx_parser_sources}) 134*89c4ff92SAndroid Build Coastguard Worker 135*89c4ff92SAndroid Build Coastguard Worker target_include_directories(armnnOnnxParser PRIVATE src/armnnUtils) 136*89c4ff92SAndroid Build Coastguard Worker 137*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(armnnOnnxParser armnn) 138*89c4ff92SAndroid Build Coastguard Worker 139*89c4ff92SAndroid Build Coastguard Worker # Protobuf 140*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(armnnOnnxParser ${PROTOBUF_LIBRARIES}) 141*89c4ff92SAndroid Build Coastguard Worker set_target_properties(armnnOnnxParser PROPERTIES VERSION ${ONNX_PARSER_LIB_VERSION} SOVERSION ${ONNX_PARSER_LIB_SOVERSION}) 142*89c4ff92SAndroid Build Coastguard Workerendif() 143*89c4ff92SAndroid Build Coastguard Worker 144*89c4ff92SAndroid Build Coastguard Workerlist(APPEND armnn_sources 145*89c4ff92SAndroid Build Coastguard Worker include/armnn/ArmNN.hpp 146*89c4ff92SAndroid Build Coastguard Worker include/armnn/BackendHelper.hpp 147*89c4ff92SAndroid Build Coastguard Worker include/armnn/BackendId.hpp 148*89c4ff92SAndroid Build Coastguard Worker include/armnn/BackendOptions.hpp 149*89c4ff92SAndroid Build Coastguard Worker include/armnn/BackendRegistry.hpp 150*89c4ff92SAndroid Build Coastguard Worker include/armnn/Conversion.hpp 151*89c4ff92SAndroid Build Coastguard Worker include/armnn/Deprecated.hpp 152*89c4ff92SAndroid Build Coastguard Worker include/armnn/Descriptors.hpp 153*89c4ff92SAndroid Build Coastguard Worker include/armnn/DescriptorsFwd.hpp 154*89c4ff92SAndroid Build Coastguard Worker include/armnn/Exceptions.hpp 155*89c4ff92SAndroid Build Coastguard Worker include/armnn/backends/ILayerSupport.hpp 156*89c4ff92SAndroid Build Coastguard Worker include/armnn/backends/ICustomAllocator.hpp 157*89c4ff92SAndroid Build Coastguard Worker include/armnn/IAsyncExecutionCallback.hpp 158*89c4ff92SAndroid Build Coastguard Worker include/armnn/INetwork.hpp 159*89c4ff92SAndroid Build Coastguard Worker include/armnn/IProfiler.hpp 160*89c4ff92SAndroid Build Coastguard Worker include/armnn/IRuntime.hpp 161*89c4ff92SAndroid Build Coastguard Worker include/armnn/IStrategy.hpp 162*89c4ff92SAndroid Build Coastguard Worker include/armnn/IWorkingMemHandle.hpp 163*89c4ff92SAndroid Build Coastguard Worker include/armnn/Logging.hpp 164*89c4ff92SAndroid Build Coastguard Worker include/armnn/LstmParams.hpp 165*89c4ff92SAndroid Build Coastguard Worker include/armnn/MemorySources.hpp 166*89c4ff92SAndroid Build Coastguard Worker include/armnn/NetworkFwd.hpp 167*89c4ff92SAndroid Build Coastguard Worker include/armnn/Optional.hpp 168*89c4ff92SAndroid Build Coastguard Worker include/armnn/QuantizedLstmParams.hpp 169*89c4ff92SAndroid Build Coastguard Worker include/armnn/StrategyBase.hpp 170*89c4ff92SAndroid Build Coastguard Worker include/armnn/Tensor.hpp 171*89c4ff92SAndroid Build Coastguard Worker include/armnn/TensorFwd.hpp 172*89c4ff92SAndroid Build Coastguard Worker include/armnn/Threadpool.hpp 173*89c4ff92SAndroid Build Coastguard Worker include/armnn/Types.hpp 174*89c4ff92SAndroid Build Coastguard Worker include/armnn/TypesUtils.hpp 175*89c4ff92SAndroid Build Coastguard Worker include/armnn/Utils.hpp 176*89c4ff92SAndroid Build Coastguard Worker include/armnn/Version.hpp 177*89c4ff92SAndroid Build Coastguard Worker include/armnn/utility/Assert.hpp 178*89c4ff92SAndroid Build Coastguard Worker include/armnn/utility/IgnoreUnused.hpp 179*89c4ff92SAndroid Build Coastguard Worker include/armnn/utility/NumericCast.hpp 180*89c4ff92SAndroid Build Coastguard Worker include/armnn/utility/PolymorphicDowncast.hpp 181*89c4ff92SAndroid Build Coastguard Worker include/armnn/utility/StringUtils.hpp 182*89c4ff92SAndroid Build Coastguard Worker include/armnn/utility/TransformIterator.hpp 183*89c4ff92SAndroid Build Coastguard Worker include/armnn/backends/SubgraphView.hpp 184*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/LayerCloneBase.hpp 185*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/LayerWithParameters.hpp 186*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ActivationLayer.hpp 187*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ActivationLayer.cpp 188*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/AdditionLayer.hpp 189*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/AdditionLayer.cpp 190*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ArgMinMaxLayer.hpp 191*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ArgMinMaxLayer.cpp 192*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/BatchMatMulLayer.hpp 193*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/BatchMatMulLayer.cpp 194*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/BatchNormalizationLayer.hpp 195*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/BatchNormalizationLayer.cpp 196*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/BatchToSpaceNdLayer.hpp 197*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/BatchToSpaceNdLayer.cpp 198*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/CastLayer.hpp 199*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/CastLayer.cpp 200*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ChannelShuffleLayer.hpp 201*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ChannelShuffleLayer.cpp 202*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ComparisonLayer.hpp 203*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ComparisonLayer.cpp 204*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ConcatLayer.hpp 205*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ConcatLayer.cpp 206*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ConstantLayer.hpp 207*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ConstantLayer.cpp 208*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/Convolution2dLayer.hpp 209*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/Convolution2dLayer.cpp 210*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/Convolution3dLayer.hpp 211*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/Convolution3dLayer.cpp 212*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ConvertFp16ToFp32Layer.hpp 213*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ConvertFp16ToFp32Layer.cpp 214*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ConvertFp32ToFp16Layer.hpp 215*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ConvertFp32ToFp16Layer.cpp 216*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/DebugLayer.hpp 217*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/DebugLayer.cpp 218*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/DepthToSpaceLayer.hpp 219*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/DepthToSpaceLayer.cpp 220*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/DepthwiseConvolution2dLayer.hpp 221*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/DepthwiseConvolution2dLayer.cpp 222*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/DequantizeLayer.hpp 223*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/DequantizeLayer.cpp 224*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/DetectionPostProcessLayer.hpp 225*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/DetectionPostProcessLayer.cpp 226*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ElementwiseBaseLayer.hpp 227*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ElementwiseBaseLayer.cpp 228*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ElementwiseBinaryLayer.hpp 229*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ElementwiseBinaryLayer.cpp 230*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ElementwiseUnaryLayer.hpp 231*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ElementwiseUnaryLayer.cpp 232*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/FakeQuantizationLayer.hpp 233*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/FakeQuantizationLayer.cpp 234*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/FillLayer.hpp 235*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/FillLayer.cpp 236*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/FloorLayer.hpp 237*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/FloorLayer.cpp 238*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/FullyConnectedLayer.hpp 239*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/FullyConnectedLayer.cpp 240*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/GatherLayer.cpp 241*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/GatherLayer.hpp 242*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/GatherNdLayer.cpp 243*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/GatherNdLayer.hpp 244*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/InputLayer.hpp 245*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/InputLayer.cpp 246*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/InstanceNormalizationLayer.hpp 247*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/InstanceNormalizationLayer.cpp 248*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/L2NormalizationLayer.hpp 249*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/L2NormalizationLayer.cpp 250*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/LogicalBinaryLayer.hpp 251*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/LogicalBinaryLayer.cpp 252*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/LogSoftmaxLayer.hpp 253*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/LogSoftmaxLayer.cpp 254*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/LstmLayer.cpp 255*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/LstmLayer.hpp 256*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MapLayer.cpp 257*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MapLayer.hpp 258*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MaximumLayer.cpp 259*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MaximumLayer.hpp 260*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MeanLayer.hpp 261*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MeanLayer.cpp 262*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MemCopyLayer.hpp 263*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MemCopyLayer.cpp 264*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MemImportLayer.hpp 265*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MemImportLayer.cpp 266*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MergeLayer.hpp 267*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MergeLayer.cpp 268*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MinimumLayer.cpp 269*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MinimumLayer.hpp 270*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MultiplicationLayer.hpp 271*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/MultiplicationLayer.cpp 272*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/NormalizationLayer.hpp 273*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/NormalizationLayer.cpp 274*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/OutputLayer.hpp 275*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/OutputLayer.cpp 276*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/PadLayer.hpp 277*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/PadLayer.cpp 278*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/PermuteLayer.hpp 279*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/PermuteLayer.cpp 280*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/Pooling2dLayer.hpp 281*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/Pooling2dLayer.cpp 282*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/Pooling3dLayer.hpp 283*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/Pooling3dLayer.cpp 284*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/QuantizeLayer.cpp 285*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/QuantizeLayer.hpp 286*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/QLstmLayer.hpp 287*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/QLstmLayer.cpp 288*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/QuantizedLstmLayer.hpp 289*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/QuantizedLstmLayer.cpp 290*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/DivisionLayer.cpp 291*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/DivisionLayer.hpp 292*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/PreCompiledLayer.hpp 293*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/PreCompiledLayer.cpp 294*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/PreluLayer.hpp 295*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/PreluLayer.cpp 296*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/RankLayer.hpp 297*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/RankLayer.cpp 298*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ReduceLayer.hpp 299*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ReduceLayer.cpp 300*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ReshapeLayer.hpp 301*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ReshapeLayer.cpp 302*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ResizeLayer.hpp 303*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ResizeLayer.cpp 304*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ShapeLayer.cpp 305*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/ShapeLayer.hpp 306*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/SliceLayer.cpp 307*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/SliceLayer.hpp 308*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/SoftmaxLayer.hpp 309*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/SoftmaxLayer.cpp 310*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/SpaceToBatchNdLayer.hpp 311*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/SpaceToBatchNdLayer.cpp 312*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/SpaceToDepthLayer.hpp 313*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/SpaceToDepthLayer.cpp 314*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/SplitterLayer.hpp 315*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/SplitterLayer.cpp 316*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/StackLayer.hpp 317*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/StackLayer.cpp 318*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/StandInLayer.cpp 319*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/StandInLayer.hpp 320*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/StridedSliceLayer.cpp 321*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/StridedSliceLayer.hpp 322*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/SubtractionLayer.cpp 323*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/SubtractionLayer.hpp 324*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/SwitchLayer.cpp 325*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/SwitchLayer.hpp 326*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/TransposeConvolution2dLayer.cpp 327*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/TransposeConvolution2dLayer.hpp 328*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/TransposeLayer.hpp 329*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/TransposeLayer.cpp 330*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/UnidirectionalSequenceLstmLayer.cpp 331*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/UnidirectionalSequenceLstmLayer.hpp 332*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/UnmapLayer.cpp 333*89c4ff92SAndroid Build Coastguard Worker src/armnn/layers/UnmapLayer.hpp 334*89c4ff92SAndroid Build Coastguard Worker src/armnn/ArmNNProfilingServiceInitialiser.cpp 335*89c4ff92SAndroid Build Coastguard Worker src/armnn/ArmNNProfilingServiceInitialiser.hpp 336*89c4ff92SAndroid Build Coastguard Worker src/armnn/AsyncExecutionCallback.cpp 337*89c4ff92SAndroid Build Coastguard Worker src/armnn/AsyncExecutionCallback.hpp 338*89c4ff92SAndroid Build Coastguard Worker src/armnn/BackendRegistry.cpp 339*89c4ff92SAndroid Build Coastguard Worker src/armnn/BackendSettings.hpp 340*89c4ff92SAndroid Build Coastguard Worker src/armnn/BackendHelper.cpp 341*89c4ff92SAndroid Build Coastguard Worker src/armnn/Descriptors.cpp 342*89c4ff92SAndroid Build Coastguard Worker src/armnn/DeviceSpec.hpp 343*89c4ff92SAndroid Build Coastguard Worker src/armnn/DllExport.hpp 344*89c4ff92SAndroid Build Coastguard Worker src/armnn/Exceptions.cpp 345*89c4ff92SAndroid Build Coastguard Worker src/armnn/ExecutionData.hpp 346*89c4ff92SAndroid Build Coastguard Worker src/armnn/ExecutionFrame.cpp 347*89c4ff92SAndroid Build Coastguard Worker src/armnn/ExecutionFrame.hpp 348*89c4ff92SAndroid Build Coastguard Worker src/armnn/Graph.cpp 349*89c4ff92SAndroid Build Coastguard Worker src/armnn/Graph.hpp 350*89c4ff92SAndroid Build Coastguard Worker src/armnn/IGraphObservable.hpp 351*89c4ff92SAndroid Build Coastguard Worker src/armnn/ILayerSupport.cpp 352*89c4ff92SAndroid Build Coastguard Worker src/armnn/Instrument.hpp 353*89c4ff92SAndroid Build Coastguard Worker src/armnn/InternalTypes.cpp 354*89c4ff92SAndroid Build Coastguard Worker src/armnn/InternalTypes.hpp 355*89c4ff92SAndroid Build Coastguard Worker src/armnn/ISubgraphViewConverter.hpp 356*89c4ff92SAndroid Build Coastguard Worker src/armnn/JsonPrinter.cpp 357*89c4ff92SAndroid Build Coastguard Worker src/armnn/JsonPrinter.hpp 358*89c4ff92SAndroid Build Coastguard Worker src/armnn/Layer.cpp 359*89c4ff92SAndroid Build Coastguard Worker src/armnn/LayerFwd.hpp 360*89c4ff92SAndroid Build Coastguard Worker src/armnn/Layer.hpp 361*89c4ff92SAndroid Build Coastguard Worker src/armnn/LayersFwd.hpp 362*89c4ff92SAndroid Build Coastguard Worker src/armnn/LayerSupportCommon.hpp 363*89c4ff92SAndroid Build Coastguard Worker src/armnn/LoadedNetwork.cpp 364*89c4ff92SAndroid Build Coastguard Worker src/armnn/LoadedNetwork.hpp 365*89c4ff92SAndroid Build Coastguard Worker src/armnn/Logging.cpp 366*89c4ff92SAndroid Build Coastguard Worker src/armnn/Network.cpp 367*89c4ff92SAndroid Build Coastguard Worker src/armnn/Network.hpp 368*89c4ff92SAndroid Build Coastguard Worker src/armnn/NetworkUtils.cpp 369*89c4ff92SAndroid Build Coastguard Worker src/armnn/NetworkUtils.hpp 370*89c4ff92SAndroid Build Coastguard Worker src/armnn/Observable.cpp 371*89c4ff92SAndroid Build Coastguard Worker src/armnn/Observable.hpp 372*89c4ff92SAndroid Build Coastguard Worker src/armnn/Optimizer.cpp 373*89c4ff92SAndroid Build Coastguard Worker src/armnn/Optimizer.hpp 374*89c4ff92SAndroid Build Coastguard Worker src/armnn/OutputHandler.cpp 375*89c4ff92SAndroid Build Coastguard Worker src/armnn/OutputHandler.hpp 376*89c4ff92SAndroid Build Coastguard Worker src/armnn/Profiling.cpp 377*89c4ff92SAndroid Build Coastguard Worker src/armnn/ProfilingEvent.cpp 378*89c4ff92SAndroid Build Coastguard Worker src/armnn/ProfilingDetails.hpp 379*89c4ff92SAndroid Build Coastguard Worker src/armnn/ProfilingEvent.hpp 380*89c4ff92SAndroid Build Coastguard Worker src/armnn/Profiling.hpp 381*89c4ff92SAndroid Build Coastguard Worker src/armnn/Runtime.cpp 382*89c4ff92SAndroid Build Coastguard Worker src/armnn/Runtime.hpp 383*89c4ff92SAndroid Build Coastguard Worker src/armnn/RangeTracker.cpp 384*89c4ff92SAndroid Build Coastguard Worker src/armnn/RangeTracker.hpp 385*89c4ff92SAndroid Build Coastguard Worker src/armnn/ResolveType.hpp 386*89c4ff92SAndroid Build Coastguard Worker src/armnn/SerializeLayerParameters.cpp 387*89c4ff92SAndroid Build Coastguard Worker src/armnn/SerializeLayerParameters.hpp 388*89c4ff92SAndroid Build Coastguard Worker src/armnn/SubgraphView.cpp 389*89c4ff92SAndroid Build Coastguard Worker src/armnn/SubgraphViewSelector.cpp 390*89c4ff92SAndroid Build Coastguard Worker src/armnn/SubgraphViewSelector.hpp 391*89c4ff92SAndroid Build Coastguard Worker src/armnn/Tensor.cpp 392*89c4ff92SAndroid Build Coastguard Worker src/armnn/Threadpool.cpp 393*89c4ff92SAndroid Build Coastguard Worker src/armnn/TypesUtils.cpp 394*89c4ff92SAndroid Build Coastguard Worker src/armnn/Utils.cpp 395*89c4ff92SAndroid Build Coastguard Worker src/armnn/WallClockTimer.cpp 396*89c4ff92SAndroid Build Coastguard Worker src/armnn/WallClockTimer.hpp 397*89c4ff92SAndroid Build Coastguard Worker src/armnn/WorkingMemDescriptor.hpp 398*89c4ff92SAndroid Build Coastguard Worker src/armnn/WorkingMemHandle.cpp 399*89c4ff92SAndroid Build Coastguard Worker src/armnn/WorkingMemHandle.hpp 400*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/AddBroadcastReshapeLayer.hpp 401*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/AddDebug.hpp 402*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/All.hpp 403*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/ConvertConstants.hpp 404*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/ConvertFp32NetworkToFp16.hpp 405*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/FoldPadIntoLayer2d.hpp 406*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/MovePermuteUp.hpp 407*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/MoveTransposeUp.hpp 408*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/Optimization.hpp 409*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/OptimizeConsecutiveReshapes.hpp 410*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/OptimizeInverseConversions.hpp 411*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/OptimizeInversePermutes.hpp 412*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/PermuteAndBatchToSpaceAsDepthToSpace.hpp 413*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/PermuteAsReshape.hpp 414*89c4ff92SAndroid Build Coastguard Worker src/armnn/optimizations/SquashEqualSiblings.hpp 415*89c4ff92SAndroid Build Coastguard Worker third-party/cxxopts/cxxopts.hpp 416*89c4ff92SAndroid Build Coastguard Worker third-party/ghc/filesystem.hpp 417*89c4ff92SAndroid Build Coastguard Worker third-party/half/half.hpp 418*89c4ff92SAndroid Build Coastguard Worker third-party/mapbox/optional.hpp 419*89c4ff92SAndroid Build Coastguard Worker third-party/mapbox/recursive_wrapper.hpp 420*89c4ff92SAndroid Build Coastguard Worker third-party/mapbox/variant.hpp 421*89c4ff92SAndroid Build Coastguard Worker third-party/mapbox/variant_cast.hpp 422*89c4ff92SAndroid Build Coastguard Worker third-party/mapbox/variant_io.hpp 423*89c4ff92SAndroid Build Coastguard Worker third-party/mapbox/variant_visitor.hpp 424*89c4ff92SAndroid Build Coastguard Worker ) 425*89c4ff92SAndroid Build Coastguard Worker 426*89c4ff92SAndroid Build Coastguard Worker# Files used for Streamline-based profiling backend 427*89c4ff92SAndroid Build Coastguard Workerif(PROFILING_BACKEND_STREAMLINE) 428*89c4ff92SAndroid Build Coastguard Worker list(APPEND armnn_sources 429*89c4ff92SAndroid Build Coastguard Worker ${GATOR_ROOT}/annotate/streamline_annotate.h 430*89c4ff92SAndroid Build Coastguard Worker ${GATOR_ROOT}/annotate/streamline_annotate.c) 431*89c4ff92SAndroid Build Coastguard Workerendif() 432*89c4ff92SAndroid Build Coastguard Worker 433*89c4ff92SAndroid Build Coastguard Worker# the backends under src/backends extend the list of 434*89c4ff92SAndroid Build Coastguard Worker# object libs armnn to include in the build 435*89c4ff92SAndroid Build Coastguard Workerinclude(src/backends/backends.cmake) 436*89c4ff92SAndroid Build Coastguard Workerforeach(lib ${armnnLibraries}) 437*89c4ff92SAndroid Build Coastguard Worker message(STATUS "Adding object library dependency to armnn: ${lib}") 438*89c4ff92SAndroid Build Coastguard Worker list(APPEND armnn_sources $<TARGET_OBJECTS:${lib}>) 439*89c4ff92SAndroid Build Coastguard Workerendforeach() 440*89c4ff92SAndroid Build Coastguard Worker 441*89c4ff92SAndroid Build Coastguard Worker# The delegate needs to be placed after armnnLibraries has been fully populated. The armnn_delegate_jni library 442*89c4ff92SAndroid Build Coastguard Worker# requires a static armnn build. 443*89c4ff92SAndroid Build Coastguard Worker# Explanation: 444*89c4ff92SAndroid Build Coastguard Worker# Because backends are added as object libraries they won't be linked to armnn when building armnn statically. 445*89c4ff92SAndroid Build Coastguard Worker# A target that uses a static armnn library has to link to the object libraries in the variable armnnLibraries 446*89c4ff92SAndroid Build Coastguard Worker# manually to include all symbols from backends. 447*89c4ff92SAndroid Build Coastguard Workerif (BUILD_CLASSIC_DELEGATE OR BUILD_OPAQUE_DELEGATE) 448*89c4ff92SAndroid Build Coastguard Worker set(ARMNN_SUB_PROJECT ON) 449*89c4ff92SAndroid Build Coastguard Worker set(ARMNN_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}) 450*89c4ff92SAndroid Build Coastguard Worker add_subdirectory(delegate) 451*89c4ff92SAndroid Build Coastguard Workerendif() 452*89c4ff92SAndroid Build Coastguard Workerif (BUILD_CLASSIC_DELEGATE) 453*89c4ff92SAndroid Build Coastguard Worker add_definitions(-DARMNN_TFLITE_DELEGATE) 454*89c4ff92SAndroid Build Coastguard Workerendif() 455*89c4ff92SAndroid Build Coastguard Workerif (BUILD_OPAQUE_DELEGATE) 456*89c4ff92SAndroid Build Coastguard Worker add_definitions(-DARMNN_TFLITE_OPAQUE_DELEGATE) 457*89c4ff92SAndroid Build Coastguard Workerendif() 458*89c4ff92SAndroid Build Coastguard Worker 459*89c4ff92SAndroid Build Coastguard Workerif(BUILD_BARE_METAL OR EXECUTE_NETWORK_STATIC) 460*89c4ff92SAndroid Build Coastguard Worker add_library_ex(armnn STATIC ${armnn_sources}) 461*89c4ff92SAndroid Build Coastguard Workerelse() 462*89c4ff92SAndroid Build Coastguard Worker if (BUILD_SHARED_LIBS) 463*89c4ff92SAndroid Build Coastguard Worker add_library_ex(armnn SHARED ${armnn_sources}) 464*89c4ff92SAndroid Build Coastguard Worker else() 465*89c4ff92SAndroid Build Coastguard Worker add_library(armnn ${armnn_sources}) 466*89c4ff92SAndroid Build Coastguard Worker endif() 467*89c4ff92SAndroid Build Coastguard Workerendif() 468*89c4ff92SAndroid Build Coastguard Worker 469*89c4ff92SAndroid Build Coastguard Workertarget_compile_definitions(armnn PRIVATE "ARMNN_COMPILING_DLL") 470*89c4ff92SAndroid Build Coastguard Worker 471*89c4ff92SAndroid Build Coastguard Worker# Generate a map file for all build modes 472*89c4ff92SAndroid Build Coastguard Workerset_property(TARGET armnn APPEND_STRING PROPERTY 473*89c4ff92SAndroid Build Coastguard Worker LINK_FLAGS " -Wl,-Map=libarmnnMapFile.map") 474*89c4ff92SAndroid Build Coastguard Workermessage(STATUS "Linker will generate mapfile ") 475*89c4ff92SAndroid Build Coastguard Worker 476*89c4ff92SAndroid Build Coastguard Workertarget_include_directories(armnn 477*89c4ff92SAndroid Build Coastguard Worker PUBLIC 478*89c4ff92SAndroid Build Coastguard Worker $<INSTALL_INTERFACE:include> 479*89c4ff92SAndroid Build Coastguard Worker $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> 480*89c4ff92SAndroid Build Coastguard Worker PRIVATE 481*89c4ff92SAndroid Build Coastguard Worker src/armnn 482*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils 483*89c4ff92SAndroid Build Coastguard Worker src/backends 484*89c4ff92SAndroid Build Coastguard Worker src/profiling 485*89c4ff92SAndroid Build Coastguard Worker profiling/common/include 486*89c4ff92SAndroid Build Coastguard Worker profiling/client/include 487*89c4ff92SAndroid Build Coastguard Worker) 488*89c4ff92SAndroid Build Coastguard Worker 489*89c4ff92SAndroid Build Coastguard Worker# Link fmt third-party library 490*89c4ff92SAndroid Build Coastguard Workeradd_subdirectory(third-party/fmt) 491*89c4ff92SAndroid Build Coastguard Workertarget_link_libraries(armnn PUBLIC fmt) 492*89c4ff92SAndroid Build Coastguard Worker 493*89c4ff92SAndroid Build Coastguard Workertarget_link_libraries(armnn PUBLIC armnnUtils) 494*89c4ff92SAndroid Build Coastguard Workertarget_link_libraries(armnn PUBLIC pipeCommon) 495*89c4ff92SAndroid Build Coastguard Workertarget_link_libraries(armnn PUBLIC pipeClient) 496*89c4ff92SAndroid Build Coastguard Worker 497*89c4ff92SAndroid Build Coastguard Workerif(NOT BUILD_BARE_METAL AND NOT EXECUTE_NETWORK_STATIC) 498*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(armnn PUBLIC ${CMAKE_DL_LIBS}) 499*89c4ff92SAndroid Build Coastguard Workerendif() 500*89c4ff92SAndroid Build Coastguard Worker 501*89c4ff92SAndroid Build Coastguard Workerif ("${CMAKE_SYSTEM_NAME}" STREQUAL Windows) 502*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(armnn PUBLIC Ws2_32.lib) 503*89c4ff92SAndroid Build Coastguard Workerendif() 504*89c4ff92SAndroid Build Coastguard Worker 505*89c4ff92SAndroid Build Coastguard Worker 506*89c4ff92SAndroid Build Coastguard Workerif(BUILD_ONNX_PARSER) 507*89c4ff92SAndroid Build Coastguard Worker install(TARGETS armnnOnnxParser 508*89c4ff92SAndroid Build Coastguard Worker LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} 509*89c4ff92SAndroid Build Coastguard Worker ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} 510*89c4ff92SAndroid Build Coastguard Worker RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 511*89c4ff92SAndroid Build Coastguard Workerendif() 512*89c4ff92SAndroid Build Coastguard Worker 513*89c4ff92SAndroid Build Coastguard Workerinstall(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) 514*89c4ff92SAndroid Build Coastguard Worker 515*89c4ff92SAndroid Build Coastguard Workerif(ARMCOMPUTENEON OR ARMCOMPUTECL) 516*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(armnn PUBLIC ${ARMCOMPUTE_LIBRARIES}) 517*89c4ff92SAndroid Build Coastguard Workerendif() 518*89c4ff92SAndroid Build Coastguard Worker 519*89c4ff92SAndroid Build Coastguard Worker# Flatbuffers is not included in armnn if the armnnSerializer is not present 520*89c4ff92SAndroid Build Coastguard Worker# Required to target link both flatbuffers and tosa_serialization_lib to armnn 521*89c4ff92SAndroid Build Coastguard Workerif(ARMNNTOSACOMMON) 522*89c4ff92SAndroid Build Coastguard Worker if (FLATBUFFERS_LIBRARY) 523*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(armnn PUBLIC ${FLATBUFFERS_LIBRARY}) 524*89c4ff92SAndroid Build Coastguard Worker else() 525*89c4ff92SAndroid Build Coastguard Worker # Use PATH_SUFFIXES to help find separate libs for debug/release on Windows builds 526*89c4ff92SAndroid Build Coastguard Worker find_library(FLATBUFFERS_LIBRARY_DEBUG NAMES flatbuffers 527*89c4ff92SAndroid Build Coastguard Worker HINTS ${FLATBUFFERS_BUILD_DIR} 528*89c4ff92SAndroid Build Coastguard Worker PATH_SUFFIXES "Debug") 529*89c4ff92SAndroid Build Coastguard Worker find_library(FLATBUFFERS_LIBRARY_RELEASE NAMES flatbuffers 530*89c4ff92SAndroid Build Coastguard Worker HINTS ${FLATBUFFERS_BUILD_DIR} 531*89c4ff92SAndroid Build Coastguard Worker PATH_SUFFIXES "Release") 532*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(armnn PUBLIC 533*89c4ff92SAndroid Build Coastguard Worker debug ${FLATBUFFERS_LIBRARY_DEBUG} 534*89c4ff92SAndroid Build Coastguard Worker optimized ${FLATBUFFERS_LIBRARY_RELEASE}) 535*89c4ff92SAndroid Build Coastguard Worker endif() 536*89c4ff92SAndroid Build Coastguard Worker 537*89c4ff92SAndroid Build Coastguard Worker if (TOSA_SERIALIZATION_LIB) 538*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(armnn PUBLIC -Wl,--whole-archive ${TOSA_SERIALIZATION_LIB} -Wl,--no-whole-archive) 539*89c4ff92SAndroid Build Coastguard Worker else() 540*89c4ff92SAndroid Build Coastguard Worker find_library(TOSA_SERIALIZATION_LIB 541*89c4ff92SAndroid Build Coastguard Worker NAMES libtosa_serialization_lib.a tosa_serialization_lib 542*89c4ff92SAndroid Build Coastguard Worker HINTS ${TOSA_SERIALIZATION_LIB_ROOT}/lib /usr/local/lib /usr/lib) 543*89c4ff92SAndroid Build Coastguard Worker 544*89c4ff92SAndroid Build Coastguard Worker message(STATUS "TOSA serialization library set to ${TOSA_SERIALIZATION_LIB}") 545*89c4ff92SAndroid Build Coastguard Worker 546*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(armnn PUBLIC -Wl,--whole-archive ${TOSA_SERIALIZATION_LIB} -Wl,--no-whole-archive) 547*89c4ff92SAndroid Build Coastguard Worker endif() 548*89c4ff92SAndroid Build Coastguard Workerendif() 549*89c4ff92SAndroid Build Coastguard Worker 550*89c4ff92SAndroid Build Coastguard Workerif (ARMNNTOSAREF) 551*89c4ff92SAndroid Build Coastguard Worker if (TOSA_REFERENCE_MODEL_LIB) 552*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(armnn PUBLIC -Wl,--whole-archive ${TOSA_REFERENCE_MODEL_LIB} -Wl,--no-whole-archive) 553*89c4ff92SAndroid Build Coastguard Worker else() 554*89c4ff92SAndroid Build Coastguard Worker find_library(TOSA_REFERENCE_MODEL_LIB 555*89c4ff92SAndroid Build Coastguard Worker NAMES libtosa_reference_model_lib.a tosa_reference_model_lib 556*89c4ff92SAndroid Build Coastguard Worker HINTS ${TOSA_REFERENCE_MODEL_ROOT}/lib /usr/local/lib /usr/lib) 557*89c4ff92SAndroid Build Coastguard Worker message(STATUS "TOSA Reference Model set to ${TOSA_REFERENCE_MODEL_LIB}") 558*89c4ff92SAndroid Build Coastguard Worker 559*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(armnn PUBLIC -Wl,--whole-archive ${TOSA_REFERENCE_MODEL_LIB} -Wl,--no-whole-archive) 560*89c4ff92SAndroid Build Coastguard Worker endif() 561*89c4ff92SAndroid Build Coastguard Workerendif() 562*89c4ff92SAndroid Build Coastguard Worker 563*89c4ff92SAndroid Build Coastguard Workerif(PROFILING_BACKEND_STREAMLINE AND (NOT ("${CMAKE_SYSTEM_NAME}" STREQUAL Android))) 564*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(armnn PUBLIC ${CMAKE_THREAD_LIBS_INIT}) 565*89c4ff92SAndroid Build Coastguard Workerendif() 566*89c4ff92SAndroid Build Coastguard Worker 567*89c4ff92SAndroid Build Coastguard Workerset_target_properties(armnn PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION}) 568*89c4ff92SAndroid Build Coastguard Worker 569*89c4ff92SAndroid Build Coastguard Workerif(BUILD_UNIT_TESTS) 570*89c4ff92SAndroid Build Coastguard Worker set(unittest_sources) 571*89c4ff92SAndroid Build Coastguard Worker list(APPEND unittest_sources 572*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/CloneTests.cpp 573*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/ConstTensorLayerVisitor.hpp 574*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/ConstTensorLayerVisitor.cpp 575*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/EndToEndTest.cpp 576*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/ExecutionFrameTest.cpp 577*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/FloatingPointConverterTest.cpp 578*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/FlowControl.cpp 579*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/GraphTests.cpp 580*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/InstrumentTests.cpp 581*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/InferOutputTests.cpp 582*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/InferOutputTests.hpp 583*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/ModelAccuracyCheckerTest.cpp 584*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/NetworkTests.cpp 585*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/ObservableTest.cpp 586*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/OptimizerTests.cpp 587*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/AddBroadcastReshapeLayerTests.cpp 588*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/ConvertConstDequantisationLayersToConstLayersTest.cpp 589*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/ConvertConstPermuteLayersToConstLayersTest.cpp 590*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/ConvertConstantsFloatToHalfTests.cpp 591*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/ConvertConstantsHalfToFloatTests.cpp 592*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/FoldPadIntoQuantizedAveragePooling2DTests.cpp 593*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/FoldPadTests.cpp 594*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/Fp32NetworkToFp16ConverterTests.cpp 595*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/FuseActivationTests.cpp 596*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/InsertDebugLayerTests.cpp 597*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/MovePermuteUpTests.cpp 598*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/MoveTransposeUpTests.cpp 599*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/OptimizeConsecutiveReshapesTests.cpp 600*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/OptimizeInverseConversionsTests.cpp 601*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/OptimizeInversePermutesTests.cpp 602*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/PermuteAndBatchToSpaceAsDepthToSpaceTests.cpp 603*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/PermuteAsReshapeTests.cpp 604*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/ReduceMultipleAxesTests.cpp 605*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/SquashEqualSiblingsTests.cpp 606*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/TransposeAsReshapeTests.cpp 607*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/OptionalTest.cpp 608*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/ProfilerTests.cpp 609*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/ProfilingEventTest.cpp 610*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/ShapeInferenceTests.cpp 611*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/SubgraphViewTests.cpp 612*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/TensorHandleStrategyTest.cpp 613*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/TensorTest.cpp 614*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/TestInputOutputLayerVisitor.cpp 615*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/TestInputOutputLayerVisitor.hpp 616*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/TestLayerVisitor.cpp 617*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/TestLayerVisitor.hpp 618*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/TestNameOnlyLayerVisitor.cpp 619*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/TestNameOnlyLayerVisitor.hpp 620*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/TestNameAndDescriptorLayerVisitor.hpp 621*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/TestNameAndDescriptorLayerVisitor.cpp 622*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/UtilityTests.cpp 623*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/UtilsTests.cpp 624*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/test/FloatingPointComparisonTest.cpp 625*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/test/ParserHelperTest.cpp 626*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/test/PrototxtConversionsTest.cpp 627*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/test/QuantizeHelperTest.cpp 628*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/test/TensorUtilsTest.cpp 629*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils/test/TransformIteratorTest.cpp 630*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/BufferTests.cpp 631*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/FileOnlyProfilingDecoratorTests.cpp 632*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/PrintPacketHeaderHandler.cpp 633*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/PrintPacketHeaderHandler.hpp 634*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/ProfilingConnectionDumpToFileDecoratorTests.cpp 635*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/ProfilingGuidTest.cpp 636*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/ProfilingMocks.hpp 637*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/ProfilingTests.cpp 638*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/ProfilingTests.hpp 639*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/ProfilingTestUtils.cpp 640*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/ProfilingTestUtils.hpp 641*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/RequestCountersPacketHandler.cpp 642*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/RequestCountersPacketHandler.hpp 643*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/SendCounterPacketTests.cpp 644*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/SendCounterPacketTests.hpp 645*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/TestTimelinePacketHandler.cpp 646*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/TestTimelinePacketHandler.hpp 647*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/TimelineModel.cpp 648*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/TimelineModel.hpp 649*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/SendTimelinePacketTests.cpp 650*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/TimelinePacketTests.cpp 651*89c4ff92SAndroid Build Coastguard Worker src/profiling/test/TimelineUtilityMethodsTests.cpp 652*89c4ff92SAndroid Build Coastguard Worker third-party/doctest/doctest.h 653*89c4ff92SAndroid Build Coastguard Worker ) 654*89c4ff92SAndroid Build Coastguard Worker 655*89c4ff92SAndroid Build Coastguard Worker if(ARMNNREF) 656*89c4ff92SAndroid Build Coastguard Worker list(APPEND unittest_sources 657*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/optimizations/FuseBatchNormTests.cpp 658*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/DebugCallbackTest.cpp 659*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/RuntimeTests.cpp 660*89c4ff92SAndroid Build Coastguard Worker src/armnn/test/RuntimeTests.hpp 661*89c4ff92SAndroid Build Coastguard Worker ) 662*89c4ff92SAndroid Build Coastguard Worker endif() 663*89c4ff92SAndroid Build Coastguard Worker 664*89c4ff92SAndroid Build Coastguard Worker if(BUILD_TF_LITE_PARSER AND ARMNNREF) 665*89c4ff92SAndroid Build Coastguard Worker list(APPEND unittest_sources 666*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Activations.cpp 667*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Addition.cpp 668*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/ArgMinMax.cpp 669*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/AvgPool2D.cpp 670*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/BatchMatMul.cpp 671*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/BatchToSpaceND.cpp 672*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Cast.cpp 673*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Comparison.cpp 674*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Concatenation.cpp 675*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Constant.cpp 676*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Conv2D.cpp 677*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Conv3D.cpp 678*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/DepthwiseConvolution2D.cpp 679*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/DepthToSpace.cpp 680*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Dequantize.cpp 681*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/DetectionPostProcess.cpp 682*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Div.cpp 683*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/ElementWiseUnary.cpp 684*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/ExpandDims.cpp 685*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/FloorDiv.cpp 686*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/FullyConnected.cpp 687*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Gather.cpp 688*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/GatherNd.cpp 689*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/L2Normalization.cpp 690*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/LeakyRelu.cpp 691*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/LoadScopeDynamicTensor.cpp 692*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/LocalResponseNormalization.cpp 693*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Maximum.cpp 694*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/MaxPool2D.cpp 695*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Mean.cpp 696*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Minimum.cpp 697*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/MirrorPad.cpp 698*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Multiplication.cpp 699*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Pack.cpp 700*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Pad.cpp 701*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/PadV2.cpp 702*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Prelu.cpp 703*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Reduce.cpp 704*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Reshape.cpp 705*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/ReshapeDynamic.cpp 706*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/ResizeBilinear.cpp 707*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/ResizeNearestNeighbor.cpp 708*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Quantize.cpp 709*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Softmax.cpp 710*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/SpaceToBatchND.cpp 711*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Shape.cpp 712*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Slice.cpp 713*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Split.cpp 714*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/SplitV.cpp 715*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Squeeze.cpp 716*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/StridedSlice.cpp 717*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Sub.cpp 718*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Sum.cpp 719*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/TransposeConv.cpp 720*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Transpose.cpp 721*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Unpack.cpp 722*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/Unsupported.cpp 723*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/LoadModel.cpp 724*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/GetBuffer.cpp 725*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/OutputShapeOfSqueeze.cpp 726*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/InputOutputTensorNames.cpp 727*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/GetTensorIds.cpp 728*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/GetSubgraphInputsOutputs.cpp 729*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/GetInputsOutputs.cpp 730*89c4ff92SAndroid Build Coastguard Worker src/armnnTfLiteParser/test/TfLiteParser.cpp 731*89c4ff92SAndroid Build Coastguard Worker ) 732*89c4ff92SAndroid Build Coastguard Worker 733*89c4ff92SAndroid Build Coastguard Worker # Generate SchemaText.cpp file which contains the TfLite schema text as a 734*89c4ff92SAndroid Build Coastguard Worker # static C-array of bytes. This is needed at runtime for TfLite parser tests. 735*89c4ff92SAndroid Build Coastguard Worker add_custom_command( 736*89c4ff92SAndroid Build Coastguard Worker OUTPUT SchemaText.cpp 737*89c4ff92SAndroid Build Coastguard Worker COMMAND cp ${TF_LITE_SCHEMA_INCLUDE_PATH}/schema.fbs g_TfLiteSchemaText 738*89c4ff92SAndroid Build Coastguard Worker COMMAND xxd -i g_TfLiteSchemaText SchemaText.cpp 739*89c4ff92SAndroid Build Coastguard Worker WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} 740*89c4ff92SAndroid Build Coastguard Worker DEPENDS ${TF_LITE_SCHEMA_INCLUDE_PATH}/schema.fbs 741*89c4ff92SAndroid Build Coastguard Worker ) 742*89c4ff92SAndroid Build Coastguard Worker list(APPEND unittest_sources ${CMAKE_CURRENT_BINARY_DIR}/SchemaText.cpp) 743*89c4ff92SAndroid Build Coastguard Worker endif() 744*89c4ff92SAndroid Build Coastguard Worker 745*89c4ff92SAndroid Build Coastguard Worker if(BUILD_ONNX_PARSER AND ARMNNREF) 746*89c4ff92SAndroid Build Coastguard Worker list(APPEND unittest_sources 747*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/Addition.cpp 748*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/BatchNorm.cpp 749*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/Clip.cpp 750*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/Concat.cpp 751*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/Const.cpp 752*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/Constructor.cpp 753*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/Conv2D.cpp 754*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/CreateNetwork.cpp 755*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/DepthConv.cpp 756*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/Flatten.cpp 757*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/FullyConnected.cpp 758*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/Gather.cpp 759*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/Gemm.cpp 760*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/GetInputsOutputs.cpp 761*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/LoadScopeDynamicTensor.cpp 762*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/OnnxParserTestUtils.cpp 763*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/OnnxParserTestUtils.hpp 764*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/Pooling.cpp 765*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/ProtoxtFixture.cpp 766*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/Relu.cpp 767*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/Reshape.cpp 768*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/Shape.cpp 769*89c4ff92SAndroid Build Coastguard Worker src/armnnOnnxParser/test/Unsqueeze.cpp 770*89c4ff92SAndroid Build Coastguard Worker ) 771*89c4ff92SAndroid Build Coastguard Worker endif() 772*89c4ff92SAndroid Build Coastguard Worker 773*89c4ff92SAndroid Build Coastguard Worker if(BUILD_ARMNN_SERIALIZER AND ARMNNREF) 774*89c4ff92SAndroid Build Coastguard Worker enable_language(ASM) 775*89c4ff92SAndroid Build Coastguard Worker list(APPEND unittest_sources 776*89c4ff92SAndroid Build Coastguard Worker src/armnnSerializer/test/ActivationSerializationTests.cpp 777*89c4ff92SAndroid Build Coastguard Worker src/armnnSerializer/test/ComparisonSerializationTests.cpp 778*89c4ff92SAndroid Build Coastguard Worker src/armnnSerializer/test/LstmSerializationTests.cpp 779*89c4ff92SAndroid Build Coastguard Worker src/armnnSerializer/test/SerializerTests.cpp 780*89c4ff92SAndroid Build Coastguard Worker src/armnnSerializer/test/SerializerTestUtils.cpp 781*89c4ff92SAndroid Build Coastguard Worker src/armnnSerializer/test/SerializerTestUtils.hpp 782*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeAbs.cpp 783*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeActivation.cpp 784*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeAdd.cpp 785*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeArgMinMax.cpp 786*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeBatchMatMul.cpp 787*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeBatchToSpaceNd.cpp 788*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeBatchNormalization.cpp 789*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeCast.cpp 790*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeChannelShuffle.cpp 791*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeComparison.cpp 792*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeConstant.cpp 793*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeConvolution2d.cpp 794*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeConvolution3d.cpp 795*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeDepthToSpace.cpp 796*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeDepthwiseConv2d.cpp 797*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeDivision.cpp 798*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeFill.cpp 799*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeFloor.cpp 800*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeFullyConnected.cpp 801*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeGather.cpp 802*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeGatherNd.cpp 803*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeInstanceNormalization.cpp 804*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeL2Normalization.cpp 805*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeLogSoftmax.cpp 806*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeMean.cpp 807*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeMultiplication.cpp 808*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeNormalization.cpp 809*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializePad.cpp 810*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializePermute.cpp 811*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializePooling2d.cpp 812*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializePooling3d.cpp 813*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeRank.cpp 814*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeReduceSum.cpp 815*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeReshape.cpp 816*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeResizeBilinear.cpp 817*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeRsqrt.cpp 818*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeShape.cpp 819*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeSlice.cpp 820*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeSpaceToBatchNd.cpp 821*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeStridedSlice.cpp 822*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/DeserializeSubtraction.cpp 823*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/ParserFlatbuffersSerializeFixture.hpp 824*89c4ff92SAndroid Build Coastguard Worker src/armnnDeserializer/test/SchemaSerialize.s 825*89c4ff92SAndroid Build Coastguard Worker ) 826*89c4ff92SAndroid Build Coastguard Worker set_source_files_properties(src/armnnDeserializer/test/SchemaSerialize.s PROPERTIES COMPILE_FLAGS "-x assembler-with-cpp") 827*89c4ff92SAndroid Build Coastguard Worker endif() 828*89c4ff92SAndroid Build Coastguard Worker 829*89c4ff92SAndroid Build Coastguard Worker if(BUILD_GATORD_MOCK) 830*89c4ff92SAndroid Build Coastguard Worker list(APPEND unittest_sources 831*89c4ff92SAndroid Build Coastguard Worker tests/profiling/gatordmock/tests/GatordMockTests.cpp 832*89c4ff92SAndroid Build Coastguard Worker ) 833*89c4ff92SAndroid Build Coastguard Worker endif() 834*89c4ff92SAndroid Build Coastguard Worker 835*89c4ff92SAndroid Build Coastguard Worker if(BUILD_TIMELINE_DECODER) 836*89c4ff92SAndroid Build Coastguard Worker list(APPEND unittest_sources 837*89c4ff92SAndroid Build Coastguard Worker src/timelineDecoder/tests/JSONTimelineDecoderTests.cpp 838*89c4ff92SAndroid Build Coastguard Worker profiling/server/src/timelineDecoder/tests/TimelineTests.cpp 839*89c4ff92SAndroid Build Coastguard Worker ) 840*89c4ff92SAndroid Build Coastguard Worker endif() 841*89c4ff92SAndroid Build Coastguard Worker 842*89c4ff92SAndroid Build Coastguard Worker if(BUILD_BASE_PIPE_SERVER) 843*89c4ff92SAndroid Build Coastguard Worker list(APPEND unittest_sources 844*89c4ff92SAndroid Build Coastguard Worker profiling/server/src/basePipeServer/tests/BasePipeServerTests.cpp 845*89c4ff92SAndroid Build Coastguard Worker ) 846*89c4ff92SAndroid Build Coastguard Worker endif() 847*89c4ff92SAndroid Build Coastguard Worker 848*89c4ff92SAndroid Build Coastguard Worker if(BUILD_TESTS) 849*89c4ff92SAndroid Build Coastguard Worker list(APPEND unittest_sources 850*89c4ff92SAndroid Build Coastguard Worker ./tests/NetworkExecutionUtils/NetworkExecutionUtils.cpp 851*89c4ff92SAndroid Build Coastguard Worker ./tests/NetworkExecutionUtils/test/NetworkExecutionUtilsTests.cpp) 852*89c4ff92SAndroid Build Coastguard Worker endif() 853*89c4ff92SAndroid Build Coastguard Worker 854*89c4ff92SAndroid Build Coastguard Worker foreach(lib ${armnnUnitTestLibraries}) 855*89c4ff92SAndroid Build Coastguard Worker message(STATUS "Adding object library dependency to UnitTests: ${lib}") 856*89c4ff92SAndroid Build Coastguard Worker list(APPEND unittest_sources $<TARGET_OBJECTS:${lib}>) 857*89c4ff92SAndroid Build Coastguard Worker endforeach() 858*89c4ff92SAndroid Build Coastguard Worker 859*89c4ff92SAndroid Build Coastguard Worker add_executable(UnitTests ${unittest_sources}) 860*89c4ff92SAndroid Build Coastguard Worker target_include_directories(UnitTests PRIVATE src/armnn) 861*89c4ff92SAndroid Build Coastguard Worker target_include_directories(UnitTests PRIVATE src/armnnUtils) 862*89c4ff92SAndroid Build Coastguard Worker target_include_directories(UnitTests PRIVATE src/armnnTestUtils) 863*89c4ff92SAndroid Build Coastguard Worker target_include_directories(UnitTests PRIVATE src/backends) 864*89c4ff92SAndroid Build Coastguard Worker target_include_directories(UnitTests PRIVATE src/profiling) 865*89c4ff92SAndroid Build Coastguard Worker 866*89c4ff92SAndroid Build Coastguard Worker if(VALGRIND_FOUND) 867*89c4ff92SAndroid Build Coastguard Worker if(HEAP_PROFILING OR LEAK_CHECKING) 868*89c4ff92SAndroid Build Coastguard Worker message(STATUS "Valgrind is disabled for heap profiling and leak checking builds.") 869*89c4ff92SAndroid Build Coastguard Worker else() 870*89c4ff92SAndroid Build Coastguard Worker # Valgrind works with gperftools version number <= 2.4 871*89c4ff92SAndroid Build Coastguard Worker target_compile_definitions(UnitTests PRIVATE "WITH_VALGRIND=1") 872*89c4ff92SAndroid Build Coastguard Worker endif() 873*89c4ff92SAndroid Build Coastguard Worker endif() 874*89c4ff92SAndroid Build Coastguard Worker 875*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(UnitTests ${CMAKE_THREAD_LIBS_INIT}) 876*89c4ff92SAndroid Build Coastguard Worker 877*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(UnitTests armnn) 878*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(UnitTests armnnTestUtils) 879*89c4ff92SAndroid Build Coastguard Worker 880*89c4ff92SAndroid Build Coastguard Worker if(BUILD_GATORD_MOCK) 881*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(UnitTests gatordMockService) 882*89c4ff92SAndroid Build Coastguard Worker endif() 883*89c4ff92SAndroid Build Coastguard Worker 884*89c4ff92SAndroid Build Coastguard Worker if(BUILD_TIMELINE_DECODER) 885*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(UnitTests timelineDecoder) 886*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(UnitTests timelineDecoderJson) 887*89c4ff92SAndroid Build Coastguard Worker endif() 888*89c4ff92SAndroid Build Coastguard Worker 889*89c4ff92SAndroid Build Coastguard Worker if(BUILD_TF_LITE_PARSER) 890*89c4ff92SAndroid Build Coastguard Worker target_include_directories(UnitTests SYSTEM PRIVATE "${TF_LITE_SCHEMA_INCLUDE_PATH}") 891*89c4ff92SAndroid Build Coastguard Worker target_include_directories(UnitTests SYSTEM PRIVATE "${FLATBUFFERS_INCLUDE_PATH}") 892*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(UnitTests armnnTfLiteParser) 893*89c4ff92SAndroid Build Coastguard Worker endif() 894*89c4ff92SAndroid Build Coastguard Worker 895*89c4ff92SAndroid Build Coastguard Worker if(BUILD_ARMNN_SERIALIZER AND ARMNNREF) 896*89c4ff92SAndroid Build Coastguard Worker target_include_directories(UnitTests SYSTEM PRIVATE generated) 897*89c4ff92SAndroid Build Coastguard Worker target_include_directories(UnitTests SYSTEM PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src/armnnSerializer) 898*89c4ff92SAndroid Build Coastguard Worker target_include_directories(UnitTests SYSTEM PRIVATE "${FLATBUFFERS_INCLUDE_PATH}") 899*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(UnitTests armnnSerializer) 900*89c4ff92SAndroid Build Coastguard Worker endif() 901*89c4ff92SAndroid Build Coastguard Worker 902*89c4ff92SAndroid Build Coastguard Worker if(BUILD_ONNX_PARSER) 903*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(UnitTests armnnOnnxParser) 904*89c4ff92SAndroid Build Coastguard Worker endif() 905*89c4ff92SAndroid Build Coastguard Worker 906*89c4ff92SAndroid Build Coastguard Worker if(BUILD_BASE_PIPE_SERVER) 907*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(UnitTests armnnBasePipeServer) 908*89c4ff92SAndroid Build Coastguard Worker endif() 909*89c4ff92SAndroid Build Coastguard Worker 910*89c4ff92SAndroid Build Coastguard Worker addDllCopyCommands(UnitTests) 911*89c4ff92SAndroid Build Coastguard Workerendif() 912*89c4ff92SAndroid Build Coastguard Worker 913*89c4ff92SAndroid Build Coastguard Workerif (BUILD_ARMNN_SERIALIZER AND (BUILD_TF_LITE_PARSER OR BUILD_ONNX_PARSER) AND ARMNNREF) 914*89c4ff92SAndroid Build Coastguard Worker set(ArmnnConverter_sources 915*89c4ff92SAndroid Build Coastguard Worker src/armnnConverter/ArmnnConverter.cpp) 916*89c4ff92SAndroid Build Coastguard Worker 917*89c4ff92SAndroid Build Coastguard Worker add_executable_ex(ArmnnConverter ${ArmnnConverter_sources}) 918*89c4ff92SAndroid Build Coastguard Worker target_include_directories(ArmnnConverter PRIVATE src/armnn) 919*89c4ff92SAndroid Build Coastguard Worker target_include_directories(ArmnnConverter PRIVATE src/armnnUtils) 920*89c4ff92SAndroid Build Coastguard Worker 921*89c4ff92SAndroid Build Coastguard Worker if(BUILD_ONNX_PARSER) 922*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(ArmnnConverter armnnOnnxParser) 923*89c4ff92SAndroid Build Coastguard Worker endif() 924*89c4ff92SAndroid Build Coastguard Worker 925*89c4ff92SAndroid Build Coastguard Worker if(BUILD_TF_LITE_PARSER) 926*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(ArmnnConverter armnnTfLiteParser) 927*89c4ff92SAndroid Build Coastguard Worker endif() 928*89c4ff92SAndroid Build Coastguard Worker 929*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(ArmnnConverter armnnSerializer) 930*89c4ff92SAndroid Build Coastguard Worker 931*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(ArmnnConverter armnn) 932*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(ArmnnConverter ${CMAKE_THREAD_LIBS_INIT}) 933*89c4ff92SAndroid Build Coastguard Worker addDllCopyCommands(ArmnnConverter) 934*89c4ff92SAndroid Build Coastguard Worker 935*89c4ff92SAndroid Build Coastguard Worker install(TARGETS ArmnnConverter 936*89c4ff92SAndroid Build Coastguard Worker RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 937*89c4ff92SAndroid Build Coastguard Workerendif() 938*89c4ff92SAndroid Build Coastguard Worker 939*89c4ff92SAndroid Build Coastguard Workerif(BUILD_BASE_PIPE_SERVER) 940*89c4ff92SAndroid Build Coastguard Worker add_subdirectory(profiling/server/src/basePipeServer) 941*89c4ff92SAndroid Build Coastguard Workerendif() 942*89c4ff92SAndroid Build Coastguard Worker 943*89c4ff92SAndroid Build Coastguard Workerif(BUILD_TIMELINE_DECODER) 944*89c4ff92SAndroid Build Coastguard Worker add_subdirectory(profiling/server/src/timelineDecoder) 945*89c4ff92SAndroid Build Coastguard Worker add_subdirectory(src/timelineDecoder) 946*89c4ff92SAndroid Build Coastguard Workerendif() 947*89c4ff92SAndroid Build Coastguard Worker 948*89c4ff92SAndroid Build Coastguard Workerif(BUILD_GATORD_MOCK AND NOT BUILD_BASE_PIPE_SERVER) 949*89c4ff92SAndroid Build Coastguard Worker message(ERROR, "In order to build GatordMock you must set BUILD_BASE_PIPE_SERVER = YES") 950*89c4ff92SAndroid Build Coastguard Workerendif() 951*89c4ff92SAndroid Build Coastguard Worker 952*89c4ff92SAndroid Build Coastguard Workerif(BUILD_GATORD_MOCK AND NOT BUILD_TIMELINE_DECODER) 953*89c4ff92SAndroid Build Coastguard Worker message(ERROR, "In order to build GatordMock you must set BUILD_TIMELINE_DECODER = YES") 954*89c4ff92SAndroid Build Coastguard Workerendif() 955*89c4ff92SAndroid Build Coastguard Worker 956*89c4ff92SAndroid Build Coastguard Workerif(BUILD_GATORD_MOCK) 957*89c4ff92SAndroid Build Coastguard Worker set(gatord_mock_sources) 958*89c4ff92SAndroid Build Coastguard Worker list(APPEND gatord_mock_sources 959*89c4ff92SAndroid Build Coastguard Worker tests/profiling/gatordmock/CommandFileParser.hpp 960*89c4ff92SAndroid Build Coastguard Worker tests/profiling/gatordmock/CommandFileParser.cpp 961*89c4ff92SAndroid Build Coastguard Worker tests/profiling/gatordmock/CommandLineProcessor.hpp 962*89c4ff92SAndroid Build Coastguard Worker tests/profiling/gatordmock/CommandLineProcessor.cpp 963*89c4ff92SAndroid Build Coastguard Worker tests/profiling/gatordmock/GatordMockService.hpp 964*89c4ff92SAndroid Build Coastguard Worker tests/profiling/gatordmock/GatordMockService.cpp 965*89c4ff92SAndroid Build Coastguard Worker tests/profiling/gatordmock/PeriodicCounterCaptureCommandHandler.cpp 966*89c4ff92SAndroid Build Coastguard Worker tests/profiling/gatordmock/PeriodicCounterCaptureCommandHandler.hpp 967*89c4ff92SAndroid Build Coastguard Worker tests/profiling/gatordmock/PeriodicCounterSelectionResponseHandler.cpp 968*89c4ff92SAndroid Build Coastguard Worker tests/profiling/gatordmock/PeriodicCounterSelectionResponseHandler.hpp 969*89c4ff92SAndroid Build Coastguard Worker tests/profiling/gatordmock/StreamMetadataCommandHandler.cpp 970*89c4ff92SAndroid Build Coastguard Worker tests/profiling/gatordmock/StreamMetadataCommandHandler.hpp 971*89c4ff92SAndroid Build Coastguard Worker tests/profiling/gatordmock/StubCommandHandler.hpp 972*89c4ff92SAndroid Build Coastguard Worker ) 973*89c4ff92SAndroid Build Coastguard Worker 974*89c4ff92SAndroid Build Coastguard Worker add_library_ex(gatordMockService STATIC ${gatord_mock_sources}) 975*89c4ff92SAndroid Build Coastguard Worker 976*89c4ff92SAndroid Build Coastguard Worker target_include_directories(gatordMockService PRIVATE profiling/common/include 977*89c4ff92SAndroid Build Coastguard Worker profiling/client/include 978*89c4ff92SAndroid Build Coastguard Worker profiling/server/src/basePipeServer 979*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils 980*89c4ff92SAndroid Build Coastguard Worker src/profiling 981*89c4ff92SAndroid Build Coastguard Worker src/timelineDecoder) 982*89c4ff92SAndroid Build Coastguard Worker 983*89c4ff92SAndroid Build Coastguard Worker if(BUILD_UNIT_TESTS) 984*89c4ff92SAndroid Build Coastguard Worker target_include_directories(UnitTests PRIVATE tests/profiling/gatordmock) 985*89c4ff92SAndroid Build Coastguard Worker target_include_directories(UnitTests PRIVATE src/backends/backendsCommon/test) 986*89c4ff92SAndroid Build Coastguard Worker endif() 987*89c4ff92SAndroid Build Coastguard Worker 988*89c4ff92SAndroid Build Coastguard Worker add_executable_ex(GatordMock tests/profiling/gatordmock/GatordMockMain.cpp) 989*89c4ff92SAndroid Build Coastguard Worker 990*89c4ff92SAndroid Build Coastguard Worker target_include_directories(GatordMock PRIVATE profiling/common/include 991*89c4ff92SAndroid Build Coastguard Worker profiling/client/include 992*89c4ff92SAndroid Build Coastguard Worker profiling/server/src/basePipeServer 993*89c4ff92SAndroid Build Coastguard Worker src/armnnUtils 994*89c4ff92SAndroid Build Coastguard Worker src/profiling 995*89c4ff92SAndroid Build Coastguard Worker src/timelineDecoder) 996*89c4ff92SAndroid Build Coastguard Worker 997*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(GatordMock PUBLIC 998*89c4ff92SAndroid Build Coastguard Worker armnn 999*89c4ff92SAndroid Build Coastguard Worker armnnBasePipeServer 1000*89c4ff92SAndroid Build Coastguard Worker timelineDecoder 1001*89c4ff92SAndroid Build Coastguard Worker gatordMockService) 1002*89c4ff92SAndroid Build Coastguard Worker 1003*89c4ff92SAndroid Build Coastguard Worker if(Threads_FOUND AND (NOT ("${CMAKE_SYSTEM_NAME}" STREQUAL Android))) 1004*89c4ff92SAndroid Build Coastguard Worker target_link_libraries(GatordMock PUBLIC ${CMAKE_THREAD_LIBS_INIT}) 1005*89c4ff92SAndroid Build Coastguard Worker endif() 1006*89c4ff92SAndroid Build Coastguard Worker 1007*89c4ff92SAndroid Build Coastguard Workerendif() 1008*89c4ff92SAndroid Build Coastguard Worker 1009*89c4ff92SAndroid Build Coastguard Worker#################################################### 1010*89c4ff92SAndroid Build Coastguard Worker# export targets 1011*89c4ff92SAndroid Build Coastguard Workerset(armnn_export_targets) 1012*89c4ff92SAndroid Build Coastguard Workerlist(APPEND armnn_export_targets 1013*89c4ff92SAndroid Build Coastguard Worker armnn 1014*89c4ff92SAndroid Build Coastguard Worker armnnUtils 1015*89c4ff92SAndroid Build Coastguard Worker) 1016*89c4ff92SAndroid Build Coastguard Worker 1017*89c4ff92SAndroid Build Coastguard Workerinstall( 1018*89c4ff92SAndroid Build Coastguard Worker TARGETS ${armnn_export_targets} 1019*89c4ff92SAndroid Build Coastguard Worker EXPORT armnn-targets 1020*89c4ff92SAndroid Build Coastguard Worker LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} 1021*89c4ff92SAndroid Build Coastguard Worker ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} 1022*89c4ff92SAndroid Build Coastguard Worker) 1023*89c4ff92SAndroid Build Coastguard Worker 1024*89c4ff92SAndroid Build Coastguard Worker#################################################### 1025*89c4ff92SAndroid Build Coastguard Worker## Set export alias 1026*89c4ff92SAndroid Build Coastguard Workerset_target_properties(armnn 1027*89c4ff92SAndroid Build Coastguard Worker PROPERTIES 1028*89c4ff92SAndroid Build Coastguard Worker EXPORT_NAME Armnn 1029*89c4ff92SAndroid Build Coastguard Worker) 1030*89c4ff92SAndroid Build Coastguard Worker 1031*89c4ff92SAndroid Build Coastguard Worker## Export target scrips 1032*89c4ff92SAndroid Build Coastguard Workerinstall( 1033*89c4ff92SAndroid Build Coastguard Worker EXPORT armnn-targets 1034*89c4ff92SAndroid Build Coastguard Worker FILE ArmnnTargets.cmake 1035*89c4ff92SAndroid Build Coastguard Worker NAMESPACE Armnn:: 1036*89c4ff92SAndroid Build Coastguard Worker DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} 1037*89c4ff92SAndroid Build Coastguard Worker) 1038*89c4ff92SAndroid Build Coastguard Worker 1039*89c4ff92SAndroid Build Coastguard Worker#################################################### 1040*89c4ff92SAndroid Build Coastguard Worker## Create ArmnnConfig.cmake 1041*89c4ff92SAndroid Build Coastguard Workerinclude(CMakePackageConfigHelpers) 1042*89c4ff92SAndroid Build Coastguard Workerset(INSTALL_CONFIGDIR ${CMAKE_INSTALL_LIBDIR}) 1043*89c4ff92SAndroid Build Coastguard Worker 1044*89c4ff92SAndroid Build Coastguard Workermessage(STATUS "CMAKE_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_DIR}" ) 1045*89c4ff92SAndroid Build Coastguard Workermessage(STATUS "CMAKE_CURRENT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}" ) 1046*89c4ff92SAndroid Build Coastguard Workerconfigure_package_config_file( 1047*89c4ff92SAndroid Build Coastguard Worker ${CMAKE_CURRENT_LIST_DIR}/cmake/ArmnnConfig.cmake.in 1048*89c4ff92SAndroid Build Coastguard Worker ${CMAKE_CURRENT_BINARY_DIR}/ArmnnConfig.cmake 1049*89c4ff92SAndroid Build Coastguard Worker INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} 1050*89c4ff92SAndroid Build Coastguard Worker) 1051*89c4ff92SAndroid Build Coastguard Worker 1052*89c4ff92SAndroid Build Coastguard Worker#################################################### 1053*89c4ff92SAndroid Build Coastguard Worker## Install Armnn config file 1054*89c4ff92SAndroid Build Coastguard Workerinstall( 1055*89c4ff92SAndroid Build Coastguard Worker FILES 1056*89c4ff92SAndroid Build Coastguard Worker ${CMAKE_CURRENT_BINARY_DIR}/ArmnnConfig.cmake 1057*89c4ff92SAndroid Build Coastguard Worker DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} 1058*89c4ff92SAndroid Build Coastguard Worker) 1059*89c4ff92SAndroid Build Coastguard Worker 1060*89c4ff92SAndroid Build Coastguard Worker#################################################### 1061*89c4ff92SAndroid Build Coastguard Worker## Export from build tree 1062*89c4ff92SAndroid Build Coastguard Workerexport( 1063*89c4ff92SAndroid Build Coastguard Worker EXPORT armnn-targets 1064*89c4ff92SAndroid Build Coastguard Worker FILE ${CMAKE_CURRENT_BINARY_DIR}/ArmnnTargets.cmake 1065*89c4ff92SAndroid Build Coastguard Worker NAMESPACE Armnn:: 1066*89c4ff92SAndroid Build Coastguard Worker) 1067*89c4ff92SAndroid Build Coastguard Worker 1068*89c4ff92SAndroid Build Coastguard Workeradd_library(Armnn::Armnn ALIAS armnn) 1069*89c4ff92SAndroid Build Coastguard Workeradd_library(Armnn::armnnUtils ALIAS armnnUtils) 1070*89c4ff92SAndroid Build Coastguard Worker 1071*89c4ff92SAndroid Build Coastguard Worker#################################################### 1072*89c4ff92SAndroid Build Coastguard Worker## Build Python bindings 1073*89c4ff92SAndroid Build Coastguard Workerif (BUILD_PYTHON_WHL OR BUILD_PYTHON_SRC) 1074*89c4ff92SAndroid Build Coastguard Worker add_subdirectory(python/pyarmnn) 1075*89c4ff92SAndroid Build Coastguard Workerendif() 1076