blob: 858a0a35ab26ca287f2dcbd8547814fcb2bd3801 [file] [log] [blame]
Teresa Charlinad1b3d72023-03-14 12:10:28 +00001#
Kevin May93bbf002024-03-11 09:31:10 +00002# Copyright © 2023-2024 Arm Ltd and Contributors. All rights reserved.
Teresa Charlinad1b3d72023-03-14 12:10:28 +00003# SPDX-License-Identifier: MIT
4#
5
6set(armnnOpaqueDelegateObject_sources)
7list(APPEND armnnOpaqueDelegateObject_sources
8 include/armnn_delegate.hpp
Francis Murtaghc4fb0dd2023-03-16 17:01:56 +00009 include/Version.hpp
Matthew Sloyan0bd4c622023-04-27 11:48:26 +010010 src/Activation.hpp
John Mcloughlin559d9092023-04-26 20:14:47 +010011 src/ArgMinMax.hpp
Ryan OSheaa37ccb02023-04-11 10:54:07 +010012 src/armnn_delegate.cpp
Ryan OShea59f8f652023-05-11 20:37:53 +010013 src/armnn_external_delegate.cpp
John Mcloughlin0422cf22023-04-27 16:55:00 +010014 src/BatchMatMul.hpp
Kevin May81b66f32023-04-26 14:55:36 +010015 src/BatchSpace.hpp
Idriss Chaouchcbf79292023-09-08 11:18:16 +010016 src/BroadcastTo.hpp
Matthew Sloyan0bd4c622023-04-27 11:48:26 +010017 src/Comparison.hpp
18 src/Control.hpp
Matthew Sloyan080ffd82023-04-24 12:53:04 +010019 src/Convolution.hpp
David Monahanc833cef2023-05-03 15:53:03 +010020 src/ElementwiseBinary.hpp
Teresa Charlinf69ae562023-04-27 14:42:23 +010021 src/ElementwiseUnary.hpp
Matthew Sloyan0bd4c622023-04-27 11:48:26 +010022 src/FullyConnected.hpp
Kevin Mayb2831c52023-04-26 17:27:24 +010023 src/Gather.hpp
24 src/GatherNd.hpp
Teresa Charlinf69ae562023-04-27 14:42:23 +010025 src/LogicalBinary.hpp
Matthew Sloyan48ec8132023-04-27 17:04:47 +010026 src/Lstm.hpp
Teresa Charlinf69ae562023-04-27 14:42:23 +010027 src/Normalization.hpp
Teresa Charlinecebb0f2023-04-27 21:37:56 +010028 src/Pad.hpp
Matthew Sloyan48ec8132023-04-27 17:04:47 +010029 src/Pooling.hpp
Teresa Charlinecebb0f2023-04-27 21:37:56 +010030 src/Pack.hpp
Matthew Sloyan0bd4c622023-04-27 11:48:26 +010031 src/Prelu.hpp
Matthew Sloyan080ffd82023-04-24 12:53:04 +010032 src/Redefine.hpp
John Mcloughlin083586d2023-04-28 18:36:52 +010033 src/Reduce.hpp
34 src/Resize.hpp
Tracy Narine7306bbe2023-07-17 16:06:26 +010035 src/ReverseV2.hpp
Matthew Sloyan48ec8132023-04-27 17:04:47 +010036 src/Round.hpp
Kevin May93bbf002024-03-11 09:31:10 +000037 src/ScatterNd.hpp
John Mcloughlin0422cf22023-04-27 16:55:00 +010038 src/Shape.hpp
Matthew Sloyan080ffd82023-04-24 12:53:04 +010039 src/SharedFunctions.cpp
Teresa Charlinecebb0f2023-04-27 21:37:56 +010040 src/SharedFunctions.hpp
Teresa Charlin86b03572023-04-28 13:19:12 +010041 src/Slice.hpp
Teresa Charlin42362962023-04-28 14:23:33 +010042 src/Softmax.hpp
43 src/SpaceDepth.hpp
David Monahanc833cef2023-05-03 15:53:03 +010044 src/Split.hpp
Teresa Charlin86b03572023-04-28 13:19:12 +010045 src/StridedSlice.hpp
Tianle Cheng92ce35c2023-07-25 16:41:00 +010046 src/Tile.hpp
Teresa Charlin42362962023-04-28 14:23:33 +010047 src/Transpose.hpp
Matthew Sloyan74be13e2023-05-03 17:34:00 +010048 src/UnidirectionalSequenceLstm.hpp
Teresa Charlinecebb0f2023-04-27 21:37:56 +010049 src/Unpack.hpp)
Teresa Charlinad1b3d72023-03-14 12:10:28 +000050
51add_library(armnnOpaqueDelegateObject OBJECT ${armnnOpaqueDelegateObject_sources})
52
53target_include_directories(armnnOpaqueDelegateObject
54 PUBLIC
55 $<INSTALL_INTERFACE:include>
56 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
57 $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/common/include>
58 PRIVATE
59 ${CMAKE_CURRENT_SOURCE_DIR}/src
60 ${PROJECT_SOURCE_DIR}/common/src)
61
62## Add Tflite dependency
63if(NOT TfLite_INCLUDE_DIR OR NOT TfLite_Schema_INCLUDE_PATH)
64 find_package(TfLiteSrc REQUIRED MODULE)
65endif()
66
67# Various tflite header files are not warning clean
68# We can't change compilation flags on header files directly, so we need to add them to an interface library first
69add_library(tflite_headers_opaque INTERFACE)
70target_include_directories(tflite_headers_opaque
71 INTERFACE
72 $<BUILD_INTERFACE:${TfLite_INCLUDE_DIR}>
73 $<INSTALL_INTERFACE:include/tflite_headers_opaque>)
74
75target_compile_options(tflite_headers_opaque
76 INTERFACE
77 -Wno-conversion
78 -Wno-sign-conversion
79 -Wno-unused-parameter
80 -Wno-unused-function)
81
82target_link_libraries(armnnOpaqueDelegateObject PUBLIC tflite_headers_opaque)
83
84## Add Flatbuffers dependency
85find_package(Flatbuffers REQUIRED MODULE)
86
87target_link_libraries(armnnOpaqueDelegateObject PRIVATE ${Flatbuffers_LIB})
88
89# include/flatbuffers/flatbuffers.h is not warning clean
90# We can't change compilation flags on header files directly, so we need to add them to an interface library first
91add_library(flatbuffer_headers_opaque INTERFACE)
92target_include_directories(flatbuffer_headers_opaque
93 INTERFACE
94 $<BUILD_INTERFACE:${Flatbuffers_INCLUDE_DIR}>
95 $<INSTALL_INTERFACE:include/flatbuffer_headers_opaque>)
Matthew Sloyan76d0c4c2023-09-07 14:48:56 +010096target_compile_options(flatbuffer_headers_opaque INTERFACE -Wno-sign-conversion -Wno-sign-compare)
Teresa Charlinad1b3d72023-03-14 12:10:28 +000097
98target_link_libraries(armnnOpaqueDelegateObject PUBLIC flatbuffer_headers_opaque)
99
Narumol Prangnawarat26654cb2023-05-03 16:08:11 +0100100# Additional Absl Sync for Opaque Delegate
101find_package(TfLiteAbsl REQUIRED MODULE)
102target_include_directories(armnnOpaqueDelegateObject PUBLIC ${TfLite_ABSL_SYNC_HEADERS})
103target_link_libraries(armnnOpaqueDelegateObject PUBLIC ${TfLite_Extra_Absl_LIB})
104
Teresa Charlinad1b3d72023-03-14 12:10:28 +0000105####################################################
106## Export targets
107install(TARGETS armnnOpaqueDelegateObject
108 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
David Monahan6c53f9f2023-04-27 15:21:19 +0100109 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})