blob: bb85f7e22eb046b38c9c690dfc3f5f5881c3272b [file] [log] [blame]
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +01001#
Teresa Charlin44088502020-07-27 11:27:19 +01002# Copyright © 2017 Arm Ltd and Contributors. All rights reserved.
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +01003# SPDX-License-Identifier: MIT
4#
5
6list(APPEND armnnBackendsCommonUnitTests_sources
7 ActivationFixture.hpp
Teresa Charlin44088502020-07-27 11:27:19 +01008 ActivationEndToEndTestImpl.hpp
Narumol Prangnawaratd1f57732019-10-31 14:24:02 +00009 ArgMinMaxEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010010 BackendIdTests.cpp
David Monahanc1536d62020-02-12 15:52:35 +000011 BackendProfilingTests.cpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010012 BackendRegistryTests.cpp
Sadik Armagana097d2a2021-11-24 15:47:28 +000013 CommonTestUtils.hpp
Teresa Charlin43baf502021-09-27 10:10:39 +010014 ChannelShuffleEndToEndTestImpl.hpp
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +010015 ComparisonEndToEndTestImpl.hpp
Finn Williamsb9af86e2021-05-26 18:38:12 +010016 CompatibilityTests.cpp
Teresa Charlinca588392021-10-01 11:29:08 +010017 ConcatEndToEndTestImpl.hpp
Matthew Sloyan5d7b0a32021-10-18 13:07:49 +010018 Convolution3dEndToEndTestImpl.hpp
Sadik Armaganb8a26d82021-10-04 15:13:11 +010019 CustomMemoryOptimizerStrategyTests.cpp
Sadik Armagana097d2a2021-11-24 15:47:28 +000020 DataLayoutUtils.hpp
21 DataTypeUtils.hpp
Finn Williamsb76eaed2021-03-31 16:22:40 +010022 DefaultAsyncExecuteTest.cpp
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +010023 DepthToSpaceEndToEndTestImpl.hpp
Narumol Prangnawarat8c7324d2019-05-31 16:42:11 +010024 DequantizeEndToEndTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010025 DetectionPostProcessEndToEndTestImpl.hpp
Matteo Martincighac60d282019-07-25 15:25:44 +010026 DynamicBackendTests.cpp
27 DynamicBackendTests.hpp
josh minor4a3c6102020-01-06 16:40:46 -060028 ElementwiseUnaryEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010029 EndToEndTestImpl.hpp
Teresa Charlin44088502020-07-27 11:27:19 +010030 FillEndToEndTestImpl.hpp
Sadik Armaganf0a6dec2021-03-25 07:46:55 +000031 FullyConnectedEndToEndTestImpl.hpp
narpra01db2b1602019-01-23 15:23:11 +000032 GatherEndToEndTestImpl.hpp
Sadik Armagan062e0e92019-10-14 10:31:43 +010033 InstanceNormalizationEndToEndTestImpl.cpp
34 InstanceNormalizationEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010035 IsLayerSupportedTestImpl.hpp
Aron Virginas-Tar69362cc2018-11-22 15:04:42 +000036 JsonPrinterTestImpl.cpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010037 JsonPrinterTestImpl.hpp
38 LayerReleaseConstantDataTest.cpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010039 LayerTests.hpp
Sadik Armagan20bea002019-10-16 09:29:38 +010040 LogSoftmaxEndToEndTestImpl.cpp
41 LogSoftmaxEndToEndTestImpl.hpp
Teresa Charlinca588392021-10-01 11:29:08 +010042 MemoryManagerTests.cpp
Matteo Martincigh88054f82019-05-17 12:15:30 +010043 MockBackend.cpp
44 MockBackend.hpp
45 MockBackendId.hpp
Matteo Martincighf02e6cd2019-05-17 12:15:30 +010046 OptimizeSubgraphViewTests.cpp
David Monahan005288d2019-05-14 10:42:38 +010047 OptimizationViewsTests.cpp
Nikhil Raj747f5862019-07-19 15:15:23 +010048 PreluEndToEndTestImpl.hpp
James Conroy0800bf52020-05-14 12:46:44 +010049 QLstmEndToEndTestImpl.cpp
50 QLstmEndToEndTestImpl.hpp
Aron Virginas-Tar46ff1ca2019-09-12 11:03:09 +010051 QuantizedLstmEndToEndTestImpl.cpp
Francis Murtaghb3fc2522019-08-09 13:20:50 +010052 QuantizedLstmEndToEndTestImpl.hpp
Teresa Charlin2e3f4d22020-07-29 14:29:20 +010053 RankEndToEndTestImpl.hpp
Aron Virginas-Tarfe15eff2019-07-01 16:12:58 +010054 ResizeEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010055 RuntimeTestImpl.hpp
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +010056 SpaceToDepthEndToEndTestImpl.cpp
Keith Davis9515c7e2019-06-21 09:33:59 +010057 SpaceToDepthEndToEndTestImpl.hpp
Narumol Prangnawarat0be43382019-05-27 11:29:59 +010058 SplitterEndToEndTestImpl.hpp
Mike Kelly386ff1a2021-03-29 15:04:50 +010059 StridedSliceAsyncEndToEndTest.hpp
Sadik Armagana097d2a2021-11-24 15:47:28 +000060 TensorCopyUtils.hpp
Aron Virginas-Tar56055192018-11-12 18:10:43 +000061 WorkloadFactoryHelper.hpp
Sadik Armagana097d2a2021-11-24 15:47:28 +000062 WorkloadTestUtils.hpp
Sadik Armagan9199e582019-09-05 17:35:31 +010063 layerTests/AbsTestImpl.cpp
64 layerTests/AbsTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010065 layerTests/ActivationTestImpl.cpp
66 layerTests/ActivationTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010067 layerTests/AdditionTestImpl.cpp
68 layerTests/AdditionTestImpl.hpp
Nikhil Raj68c2c902019-09-19 11:21:11 +010069 layerTests/ArgMinMaxTestImpl.cpp
70 layerTests/ArgMinMaxTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010071 layerTests/BatchNormalizationTestImpl.cpp
72 layerTests/BatchNormalizationTestImpl.hpp
73 layerTests/BatchToSpaceNdTestImpl.hpp
mathad01b392e982021-04-07 12:07:30 +010074 layerTests/CastTestImpl.cpp
75 layerTests/CastTestImpl.hpp
Simon Obute51f67772021-09-03 15:50:13 +010076 layerTests/ChannelShuffleTestImpl.cpp
77 layerTests/ChannelShuffleTestImpl.hpp
Aron Virginas-Tar3bc00ec2019-10-18 15:42:58 +010078 layerTests/ComparisonTestImpl.cpp
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +010079 layerTests/ComparisonTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010080 layerTests/ConcatTestImpl.cpp
81 layerTests/ConcatTestImpl.hpp
82 layerTests/ConstantTestImpl.cpp
83 layerTests/ConstantTestImpl.hpp
84 layerTests/Conv2dTestImpl.cpp
85 layerTests/Conv2dTestImpl.hpp
Matthew Sloyanb63a3112021-09-08 13:05:51 +010086 layerTests/Conv3dTestImpl.cpp
87 layerTests/Conv3dTestImpl.hpp
Narumol Prangnawarat7ddbbae2020-03-13 10:26:05 +000088 layerTests/ConvertBf16ToFp32TestImpl.cpp
89 layerTests/ConvertBf16ToFp32TestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010090 layerTests/ConvertFp16ToFp32TestImpl.cpp
91 layerTests/ConvertFp16ToFp32TestImpl.hpp
Narumol Prangnawaratea54a012020-03-16 16:36:10 +000092 layerTests/ConvertFp32ToBf16TestImpl.cpp
93 layerTests/ConvertFp32ToBf16TestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010094 layerTests/ConvertFp32ToFp16TestImpl.cpp
95 layerTests/ConvertFp32ToFp16TestImpl.hpp
96 layerTests/DebugTestImpl.cpp
97 layerTests/DebugTestImpl.hpp
Aron Virginas-Tar73f66422019-09-23 19:11:59 +010098 layerTests/DepthToSpaceTestImpl.cpp
99 layerTests/DepthToSpaceTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100100 layerTests/DequantizeTestImpl.cpp
101 layerTests/DequantizeTestImpl.hpp
102 layerTests/DetectionPostProcessTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +0100103 layerTests/DivisionTestImpl.cpp
104 layerTests/DivisionTestImpl.hpp
105 layerTests/ElementwiseTestImpl.hpp
josh minor4a3c6102020-01-06 16:40:46 -0600106 layerTests/ElementwiseUnaryTestImpl.cpp
107 layerTests/ElementwiseUnaryTestImpl.hpp
Sadik Armagan9fabf432020-05-27 13:40:58 +0100108 layerTests/ExpTestImpl.cpp
109 layerTests/ExpTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100110 layerTests/FakeQuantizationTestImpl.cpp
111 layerTests/FakeQuantizationTestImpl.hpp
Ryan OSheaf4bfa6a2020-06-10 11:33:37 +0100112 layerTests/FillTestImpl.cpp
113 layerTests/FillTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100114 layerTests/FloorTestImpl.cpp
115 layerTests/FloorTestImpl.hpp
116 layerTests/FullyConnectedTestImpl.cpp
117 layerTests/FullyConnectedTestImpl.hpp
118 layerTests/GatherTestImpl.cpp
119 layerTests/GatherTestImpl.hpp
Aron Virginas-Tar8168f402019-10-04 13:10:16 +0100120 layerTests/InstanceNormalizationTestImpl.cpp
121 layerTests/InstanceNormalizationTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100122 layerTests/L2NormalizationTestImpl.cpp
123 layerTests/L2NormalizationTestImpl.hpp
Sadik Armagana097d2a2021-11-24 15:47:28 +0000124 layerTests/LayerTestResult.hpp
Teresa Charlin50de4fa2021-05-31 18:47:33 +0100125 layerTests/LogTestImpl.cpp
126 layerTests/LogTestImpl.hpp
James Conroyaba90cd2020-11-06 16:28:18 +0000127 layerTests/LogicalTestImpl.cpp
128 layerTests/LogicalTestImpl.hpp
Aron Virginas-Tare662a942019-10-14 15:12:00 +0100129 layerTests/LogSoftmaxTestImpl.cpp
130 layerTests/LogSoftmaxTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100131 layerTests/LstmTestImpl.cpp
132 layerTests/LstmTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +0100133 layerTests/MaximumTestImpl.cpp
134 layerTests/MaximumTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100135 layerTests/MeanTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +0100136 layerTests/MinimumTestImpl.cpp
137 layerTests/MinimumTestImpl.hpp
Matthew Sloyan2e5d0b22021-10-21 14:05:31 +0100138 layerTests/MirrorPadTestImpl.cpp
139 layerTests/MirrorPadTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +0100140 layerTests/MultiplicationTestImpl.cpp
141 layerTests/MultiplicationTestImpl.hpp
Sadik Armaganac472102020-03-24 09:54:36 +0000142 layerTests/NegTestImpl.cpp
143 layerTests/NegTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100144 layerTests/NormalizationTestImpl.cpp
145 layerTests/NormalizationTestImpl.hpp
146 layerTests/PadTestImpl.cpp
147 layerTests/PadTestImpl.hpp
148 layerTests/PermuteTestImpl.hpp
149 layerTests/Pooling2dTestImpl.cpp
150 layerTests/Pooling2dTestImpl.hpp
Tamás Nyíri7b885b32021-10-26 14:47:57 +0100151 layerTests/Pooling3dTestImpl.cpp
152 layerTests/Pooling3dTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100153 layerTests/PreluTestImpl.hpp
154 layerTests/QuantizeTestImpl.cpp
155 layerTests/QuantizeTestImpl.hpp
Finn Williams2605b232020-06-10 15:53:46 +0100156 layerTests/RankTestImpl.cpp
157 layerTests/RankTestImpl.hpp
Sadik Armagana2747482021-02-09 10:28:54 +0000158 layerTests/ReductionTestImpl.cpp
159 layerTests/ReductionTestImpl.hpp
Teresa Charlin4e3e8312021-08-05 12:34:37 +0100160 layerTests/ReduceProdTestImpl.cpp
161 layerTests/ReduceProdTestImpl.hpp
Sadik Armagan0c3ea5b2021-02-03 09:29:30 +0000162 layerTests/ReduceSumTestImpl.cpp
163 layerTests/ReduceSumTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100164 layerTests/ReshapeTestImpl.cpp
165 layerTests/ReshapeTestImpl.hpp
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +0000166 layerTests/ResizeTestImpl.cpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100167 layerTests/ResizeTestImpl.hpp
168 layerTests/RsqrtTestImpl.cpp
169 layerTests/RsqrtTestImpl.hpp
Teresa Charlin50de4fa2021-05-31 18:47:33 +0100170 layerTests/SinTestImpl.cpp
171 layerTests/SinTestImpl.hpp
Keith Davis3ae3f972021-05-21 16:33:48 +0100172 layerTests/ShapeTestImpl.cpp
173 layerTests/ShapeTestImpl.cpp
Aron Virginas-Tar92b9f872019-09-17 17:27:04 +0100174 layerTests/SliceTestImpl.cpp
175 layerTests/SliceTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100176 layerTests/SoftmaxTestImpl.cpp
177 layerTests/SoftmaxTestImpl.hpp
178 layerTests/SpaceToBatchNdTestImpl.cpp
179 layerTests/SpaceToBatchNdTestImpl.hpp
180 layerTests/SpaceToDepthTestImpl.cpp
181 layerTests/SpaceToDepthTestImpl.hpp
182 layerTests/SplitterTestImpl.cpp
183 layerTests/SplitterTestImpl.hpp
Matthew Jacksone69c3992019-09-09 14:31:21 +0100184 layerTests/StackTestImpl.cpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100185 layerTests/StackTestImpl.hpp
186 layerTests/StridedSliceTestImpl.cpp
187 layerTests/StridedSliceTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +0100188 layerTests/SubtractionTestImpl.cpp
189 layerTests/SubtractionTestImpl.hpp
Aron Virginas-Tar94d3b932019-11-11 12:54:47 +0000190 layerTests/TransposeConvolution2dTestImpl.cpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100191 layerTests/TransposeConvolution2dTestImpl.hpp
Narumol Prangnawarate5339e72021-07-28 17:33:28 +0100192 layerTests/UnidirectionalSequenceLstmTestImpl.cpp
193 layerTests/UnidirectionalSequenceLstmTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +0100194)
195
Matteo Martincighdb16dd32019-08-27 16:41:11 +0100196if (ARMNNREF)
Matteo Martincighe67edb22019-08-14 14:05:46 +0100197 list(APPEND armnnBackendsCommonUnitTests_sources
Narumol Prangnawaratc53ceec2020-08-17 11:42:20 +0100198 mockBackend/MockImportBackend.cpp
199 mockBackend/MockImportBackend.hpp
200 mockBackend/MockImportLayerSupport.hpp
Matteo Martincighe67edb22019-08-14 14:05:46 +0100201 OptimizedNetworkTests.cpp
202 WorkloadDataValidation.cpp
203 )
204endif()
205
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +0100206add_library(armnnBackendsCommonUnitTests OBJECT ${armnnBackendsCommonUnitTests_sources})
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +0100207target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +0000208target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
Sadik Armagana097d2a2021-11-24 15:47:28 +0000209target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnTestUtils)
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +0000210target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000211target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100212target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Sadik Armagan1625efc2021-06-10 18:24:34 +0100213target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/third-party)
Matteo Martincigh986c1862019-07-26 15:12:47 +0100214
215# Dummy shared object for testing.
216# This is a simple library used to test the utility functions that will be used to handle the shared objects.
217
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100218list(APPEND testSharedObject_sources
Matteo Martincigh986c1862019-07-26 15:12:47 +0100219 TestSharedObject.cpp
220 TestSharedObject.hpp
221)
222
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100223add_library_ex(TestSharedObject MODULE ${testSharedObject_sources})
224set_target_properties(TestSharedObject PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testSharedObject)
225file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/testSharedObject/libNoSharedObject.txt "This is not a shared object")
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100226
227# Dummy dynamic backends for testing.
228# Both a valid and a number of invalid dummy dynamic backends (covering various use cases) share the
229# same source code. The various test cases are put together in the code using compiler directives.
230
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100231list(APPEND testDynamicBackend_sources
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100232 TestDynamicBackend.cpp
233 TestDynamicBackend.hpp
234)
235
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100236add_library_ex(ValidTestDynamicBackend MODULE ${testDynamicBackend_sources})
Matteo Martincighe54aa062019-08-05 14:12:11 +0100237target_compile_definitions(ValidTestDynamicBackend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_1)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100238target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
239target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000240target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100241target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100242target_link_libraries(ValidTestDynamicBackend armnn)
243set_target_properties(ValidTestDynamicBackend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100244
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100245add_library_ex(InvalidTestDynamicBackend1 MODULE ${testDynamicBackend_sources})
246target_compile_definitions(InvalidTestDynamicBackend1 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_1)
247target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
248target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000249target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100250target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100251target_link_libraries(InvalidTestDynamicBackend1 armnn)
252set_target_properties(InvalidTestDynamicBackend1 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100253
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100254add_library_ex(InvalidTestDynamicBackend2 MODULE ${testDynamicBackend_sources})
255target_compile_definitions(InvalidTestDynamicBackend2 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_2)
256target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
257target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000258target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100259target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100260target_link_libraries(InvalidTestDynamicBackend2 armnn)
261set_target_properties(InvalidTestDynamicBackend2 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100262
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100263add_library_ex(InvalidTestDynamicBackend3 MODULE ${testDynamicBackend_sources})
264target_compile_definitions(InvalidTestDynamicBackend3 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_3)
265target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
266target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000267target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100268target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100269target_link_libraries(InvalidTestDynamicBackend3 armnn)
270set_target_properties(InvalidTestDynamicBackend3 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100271
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100272add_library_ex(InvalidTestDynamicBackend4 MODULE ${testDynamicBackend_sources})
273target_compile_definitions(InvalidTestDynamicBackend4 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_4)
274target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
275target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000276target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100277target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100278target_link_libraries(InvalidTestDynamicBackend4 armnn)
279set_target_properties(InvalidTestDynamicBackend4 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100280
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100281add_library_ex(InvalidTestDynamicBackend5 MODULE ${testDynamicBackend_sources})
282target_compile_definitions(InvalidTestDynamicBackend5 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_5)
283target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
284target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000285target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100286target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100287target_link_libraries(InvalidTestDynamicBackend5 armnn)
288set_target_properties(InvalidTestDynamicBackend5 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100289
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100290add_library_ex(InvalidTestDynamicBackend6 MODULE ${testDynamicBackend_sources})
291target_compile_definitions(InvalidTestDynamicBackend6 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_6)
292target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
293target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000294target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100295target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100296target_link_libraries(InvalidTestDynamicBackend6 armnn)
297set_target_properties(InvalidTestDynamicBackend6 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100298
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100299add_library_ex(InvalidTestDynamicBackend7 MODULE ${testDynamicBackend_sources})
300target_compile_definitions(InvalidTestDynamicBackend7 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_7)
301target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
302target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000303target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100304target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100305target_link_libraries(InvalidTestDynamicBackend7 armnn)
306set_target_properties(InvalidTestDynamicBackend7 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighf0a0a9e2019-08-05 15:27:55 +0100307
308# Dummy files and directories for testing the dynamic backend file parsing.
309
310file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so "Test file for dynamic backend file parsing")
311file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1 "Test file for dynamic backend file parsing")
312file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1.2 "Test file for dynamic backend file parsing")
313file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1.2.3 "Test file for dynamic backend file parsing")
314file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.10.1.27 "Test file for dynamic backend file parsing")
315file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.10.1.33. "Test file for dynamic backend file parsing")
316file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.3.4..5 "Test file for dynamic backend file parsing")
317file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1,1.1 "Test file for dynamic backend file parsing")
318
319file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm123_GpuAcc_backend.so "Test file for dynamic backend file parsing")
320file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc456_backend.so "Test file for dynamic backend file parsing")
321file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm%Co_GpuAcc_backend.so "Test file for dynamic backend file parsing")
322file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_Gpu.Acc_backend.so "Test file for dynamic backend file parsing")
323
324file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/GpuAcc_backend.so "Test file for dynamic backend file parsing")
325file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/_GpuAcc_backend.so "Test file for dynamic backend file parsing")
326file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm__backend.so "Test file for dynamic backend file parsing")
327file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc.so "Test file for dynamic backend file parsing")
328file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/__backend.so "Test file for dynamic backend file parsing")
329file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/__.so "Test file for dynamic backend file parsing")
330
331file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend "Test file for dynamic backend file parsing")
332file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend_v1.2.so "Test file for dynamic backend file parsing")
333
334file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath2/Arm_CpuAcc_backend.so "Test file for dynamic backend file parsing")
335add_custom_target(link_dummy_dynamic_backend ALL
336 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so backendsTestPath2/Arm_CpuAcc_backend.so.1
337 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so.1 backendsTestPath2/Arm_CpuAcc_backend.so.1.2
338 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so.1.2 backendsTestPath2/Arm_CpuAcc_backend.so.1.2.3
339 COMMAND ${CMAKE_COMMAND} -E create_symlink nothing backendsTestPath2/Arm_no_backend.so)
340file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath2/Arm_GpuAcc_backend.so "Test file for dynamic backend file parsing")
341
342file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath3)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100343
344# Dummy dynamic backends for testing.
345# These shared objects are used to test the creation of dynamic backend instances in ArmNN.
346
347add_library_ex(Arm_TestValid2_backend MODULE ${testDynamicBackend_sources})
348target_compile_definitions(Arm_TestValid2_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_2)
349target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
350target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000351target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100352target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100353target_link_libraries(Arm_TestValid2_backend armnn)
354set_target_properties(Arm_TestValid2_backend PROPERTIES PREFIX "")
355set_target_properties(Arm_TestValid2_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5)
356add_custom_command(TARGET Arm_TestValid2_backend POST_BUILD
357 COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:Arm_TestValid2_backend> ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
358
359add_library_ex(Arm_TestValid3_backend MODULE ${testDynamicBackend_sources})
360target_compile_definitions(Arm_TestValid3_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_3)
361target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
362target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000363target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100364target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100365target_link_libraries(Arm_TestValid3_backend armnn)
366set_target_properties(Arm_TestValid3_backend PROPERTIES PREFIX "")
367set_target_properties(Arm_TestValid3_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5)
368
369add_library_ex(Arm_TestInvalid8_backend MODULE ${testDynamicBackend_sources})
370target_compile_definitions(Arm_TestInvalid8_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_8)
371target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
372target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000373target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100374target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100375target_link_libraries(Arm_TestInvalid8_backend armnn)
376set_target_properties(Arm_TestInvalid8_backend PROPERTIES PREFIX "")
377set_target_properties(Arm_TestInvalid8_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5)
378
379add_library_ex(Arm_TestValid4_backend MODULE ${testDynamicBackend_sources})
380target_compile_definitions(Arm_TestValid4_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_4)
381target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
382target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000383target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100384target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100385target_link_libraries(Arm_TestValid4_backend armnn)
386set_target_properties(Arm_TestValid4_backend PROPERTIES PREFIX "")
387set_target_properties(Arm_TestValid4_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
388
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100389add_library_ex(Arm_TestValid5_backend MODULE ${testDynamicBackend_sources})
390target_compile_definitions(Arm_TestValid5_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_5)
391target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
392target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000393target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100394target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100395target_link_libraries(Arm_TestValid5_backend armnn)
396set_target_properties(Arm_TestValid5_backend PROPERTIES PREFIX "")
397set_target_properties(Arm_TestValid5_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
398
Matteo Martincighe54aa062019-08-05 14:12:11 +0100399add_library_ex(Arm_TestInvalid9_backend MODULE ${testDynamicBackend_sources})
400target_compile_definitions(Arm_TestInvalid9_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_9)
401target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
402target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000403target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100404target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100405target_link_libraries(Arm_TestInvalid9_backend armnn)
406set_target_properties(Arm_TestInvalid9_backend PROPERTIES PREFIX "")
407set_target_properties(Arm_TestInvalid9_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
408
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100409add_library_ex(Arm_TestInvalid10_backend MODULE ${testDynamicBackend_sources})
410target_compile_definitions(Arm_TestInvalid10_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_10)
411target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
412target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000413target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100414target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100415target_link_libraries(Arm_TestInvalid10_backend armnn)
416set_target_properties(Arm_TestInvalid10_backend PROPERTIES PREFIX "")
417set_target_properties(Arm_TestInvalid10_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath9)
418
419add_library_ex(Arm_TestInvalid11_backend MODULE ${testDynamicBackend_sources})
420target_compile_definitions(Arm_TestInvalid11_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_11)
421target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
422target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000423target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100424target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100425target_link_libraries(Arm_TestInvalid11_backend armnn)
426set_target_properties(Arm_TestInvalid11_backend PROPERTIES PREFIX "")
427set_target_properties(Arm_TestInvalid11_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath9)
428
Matteo Martincighe54aa062019-08-05 14:12:11 +0100429file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath7)