1*89c4ff92SAndroid Build Coastguard Worker# 2*89c4ff92SAndroid Build Coastguard Worker# Copyright © 2023 Arm Ltd and Contributors. All rights reserved. 3*89c4ff92SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT 4*89c4ff92SAndroid Build Coastguard Worker# 5*89c4ff92SAndroid Build Coastguard Worker 6*89c4ff92SAndroid Build Coastguard Workerset(armnnClassicDelegateObject_sources) 7*89c4ff92SAndroid Build Coastguard Workerlist(APPEND armnnClassicDelegateObject_sources 8*89c4ff92SAndroid Build Coastguard Worker include/armnn_delegate.hpp 9*89c4ff92SAndroid Build Coastguard Worker include/Version.hpp 10*89c4ff92SAndroid Build Coastguard Worker src/armnn_delegate.cpp 11*89c4ff92SAndroid Build Coastguard Worker src/armnn_external_delegate.cpp 12*89c4ff92SAndroid Build Coastguard Worker src/Activation.hpp 13*89c4ff92SAndroid Build Coastguard Worker src/ArgMinMax.hpp 14*89c4ff92SAndroid Build Coastguard Worker src/BatchMatMul.hpp 15*89c4ff92SAndroid Build Coastguard Worker src/BatchSpace.hpp 16*89c4ff92SAndroid Build Coastguard Worker src/ClassicDelegateUtils.hpp 17*89c4ff92SAndroid Build Coastguard Worker src/Comparison.hpp 18*89c4ff92SAndroid Build Coastguard Worker src/Convolution.hpp 19*89c4ff92SAndroid Build Coastguard Worker src/Control.hpp 20*89c4ff92SAndroid Build Coastguard Worker src/ElementwiseBinary.hpp 21*89c4ff92SAndroid Build Coastguard Worker src/ElementwiseUnary.hpp 22*89c4ff92SAndroid Build Coastguard Worker src/Fill.hpp 23*89c4ff92SAndroid Build Coastguard Worker src/FullyConnected.hpp 24*89c4ff92SAndroid Build Coastguard Worker src/Gather.hpp 25*89c4ff92SAndroid Build Coastguard Worker src/GatherNd.hpp 26*89c4ff92SAndroid Build Coastguard Worker src/LogicalBinary.hpp 27*89c4ff92SAndroid Build Coastguard Worker src/Lstm.hpp 28*89c4ff92SAndroid Build Coastguard Worker src/MultiLayerFacade.hpp 29*89c4ff92SAndroid Build Coastguard Worker src/Normalization.hpp 30*89c4ff92SAndroid Build Coastguard Worker src/Pack.hpp 31*89c4ff92SAndroid Build Coastguard Worker src/Pad.hpp 32*89c4ff92SAndroid Build Coastguard Worker src/Pooling.hpp 33*89c4ff92SAndroid Build Coastguard Worker src/Prelu.hpp 34*89c4ff92SAndroid Build Coastguard Worker src/Quantization.hpp 35*89c4ff92SAndroid Build Coastguard Worker src/Redefine.hpp 36*89c4ff92SAndroid Build Coastguard Worker src/Reduce.hpp 37*89c4ff92SAndroid Build Coastguard Worker src/Resize.hpp 38*89c4ff92SAndroid Build Coastguard Worker src/Round.hpp 39*89c4ff92SAndroid Build Coastguard Worker src/Shape.hpp 40*89c4ff92SAndroid Build Coastguard Worker src/SharedFunctions.hpp 41*89c4ff92SAndroid Build Coastguard Worker src/SharedFunctions.cpp 42*89c4ff92SAndroid Build Coastguard Worker src/Slice.hpp 43*89c4ff92SAndroid Build Coastguard Worker src/Softmax.hpp 44*89c4ff92SAndroid Build Coastguard Worker src/SpaceDepth.hpp 45*89c4ff92SAndroid Build Coastguard Worker src/Split.hpp 46*89c4ff92SAndroid Build Coastguard Worker src/Unpack.hpp 47*89c4ff92SAndroid Build Coastguard Worker src/Transpose.hpp) 48*89c4ff92SAndroid Build Coastguard Worker 49*89c4ff92SAndroid Build Coastguard Workeradd_library(armnnClassicDelegateObject OBJECT ${armnnClassicDelegateObject_sources}) 50*89c4ff92SAndroid Build Coastguard Worker 51*89c4ff92SAndroid Build Coastguard Workertarget_include_directories(armnnClassicDelegateObject 52*89c4ff92SAndroid Build Coastguard Worker PUBLIC 53*89c4ff92SAndroid Build Coastguard Worker $<INSTALL_INTERFACE:include> 54*89c4ff92SAndroid Build Coastguard Worker $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> 55*89c4ff92SAndroid Build Coastguard Worker $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/common/include> 56*89c4ff92SAndroid Build Coastguard Worker PRIVATE 57*89c4ff92SAndroid Build Coastguard Worker ${CMAKE_CURRENT_SOURCE_DIR}/src 58*89c4ff92SAndroid Build Coastguard Worker ${PROJECT_SOURCE_DIR}/common/src) 59*89c4ff92SAndroid Build Coastguard Worker 60*89c4ff92SAndroid Build Coastguard Worker## Add Tflite dependency 61*89c4ff92SAndroid Build Coastguard Workerif(NOT TfLite_INCLUDE_DIR OR NOT TfLite_Schema_INCLUDE_PATH) 62*89c4ff92SAndroid Build Coastguard Worker find_package(TfLiteSrc REQUIRED MODULE) 63*89c4ff92SAndroid Build Coastguard Workerendif() 64*89c4ff92SAndroid Build Coastguard Worker 65*89c4ff92SAndroid Build Coastguard Worker# Various tflite header files are not warning clean 66*89c4ff92SAndroid Build Coastguard Worker# We can't change compilation flags on header files directly, so we need to add them to an interface library first 67*89c4ff92SAndroid Build Coastguard Workeradd_library(tflite_headers INTERFACE) 68*89c4ff92SAndroid Build Coastguard Workertarget_include_directories(tflite_headers 69*89c4ff92SAndroid Build Coastguard Worker INTERFACE 70*89c4ff92SAndroid Build Coastguard Worker $<BUILD_INTERFACE:${TfLite_INCLUDE_DIR}> 71*89c4ff92SAndroid Build Coastguard Worker $<INSTALL_INTERFACE:include/tflite_headers>) 72*89c4ff92SAndroid Build Coastguard Worker 73*89c4ff92SAndroid Build Coastguard Workertarget_compile_options(tflite_headers 74*89c4ff92SAndroid Build Coastguard Worker INTERFACE 75*89c4ff92SAndroid Build Coastguard Worker -Wno-conversion 76*89c4ff92SAndroid Build Coastguard Worker -Wno-sign-conversion 77*89c4ff92SAndroid Build Coastguard Worker -Wno-unused-parameter 78*89c4ff92SAndroid Build Coastguard Worker -Wno-unused-function) 79*89c4ff92SAndroid Build Coastguard Worker 80*89c4ff92SAndroid Build Coastguard Workertarget_link_libraries(armnnClassicDelegateObject PUBLIC tflite_headers) 81*89c4ff92SAndroid Build Coastguard Worker 82*89c4ff92SAndroid Build Coastguard Worker## Add Flatbuffers dependency 83*89c4ff92SAndroid Build Coastguard Workerfind_package(Flatbuffers REQUIRED MODULE) 84*89c4ff92SAndroid Build Coastguard Worker 85*89c4ff92SAndroid Build Coastguard Workertarget_link_libraries(armnnClassicDelegateObject PRIVATE ${Flatbuffers_LIB}) 86*89c4ff92SAndroid Build Coastguard Worker 87*89c4ff92SAndroid Build Coastguard Worker# include/flatbuffers/flatbuffers.h is not warning clean 88*89c4ff92SAndroid Build Coastguard Worker# We can't change compilation flags on header files directly, so we need to add them to an interface library first 89*89c4ff92SAndroid Build Coastguard Workeradd_library(flatbuffer_headers INTERFACE) 90*89c4ff92SAndroid Build Coastguard Workertarget_include_directories(flatbuffer_headers 91*89c4ff92SAndroid Build Coastguard Worker INTERFACE 92*89c4ff92SAndroid Build Coastguard Worker $<BUILD_INTERFACE:${Flatbuffers_INCLUDE_DIR}> 93*89c4ff92SAndroid Build Coastguard Worker $<INSTALL_INTERFACE:include/flatbuffer_headers>) 94*89c4ff92SAndroid Build Coastguard Workertarget_compile_options(flatbuffer_headers INTERFACE -Wno-sign-conversion) 95*89c4ff92SAndroid Build Coastguard Worker 96*89c4ff92SAndroid Build Coastguard Workertarget_link_libraries(armnnClassicDelegateObject PUBLIC flatbuffer_headers) 97*89c4ff92SAndroid Build Coastguard Worker 98*89c4ff92SAndroid Build Coastguard Worker#################################################### 99*89c4ff92SAndroid Build Coastguard Worker## Export targets 100*89c4ff92SAndroid Build Coastguard Workerinstall(TARGETS armnnClassicDelegateObject 101*89c4ff92SAndroid Build Coastguard Worker LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} 102*89c4ff92SAndroid Build Coastguard Worker RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})