blob: a1271cdd99b4b8093b823b19a689d78304bccea5 [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
Matteo Martincighf02e6cd2019-05-17 12:15:30 +010013 CommonTestUtils.cpp
narpra01b9546cf2018-11-20 15:21:28 +000014 CommonTestUtils.hpp
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +010015 ComparisonEndToEndTestImpl.hpp
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +010016 DataLayoutUtils.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010017 DataTypeUtils.hpp
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +010018 DepthToSpaceEndToEndTestImpl.hpp
Narumol Prangnawarat8c7324d2019-05-31 16:42:11 +010019 DequantizeEndToEndTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010020 DetectionPostProcessEndToEndTestImpl.hpp
Matteo Martincighac60d282019-07-25 15:25:44 +010021 DynamicBackendTests.cpp
22 DynamicBackendTests.hpp
josh minor4a3c6102020-01-06 16:40:46 -060023 ElementwiseUnaryEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010024 EndToEndTestImpl.hpp
Teresa Charlin44088502020-07-27 11:27:19 +010025 FillEndToEndTestImpl.hpp
narpra01db2b1602019-01-23 15:23:11 +000026 GatherEndToEndTestImpl.hpp
Sadik Armagan062e0e92019-10-14 10:31:43 +010027 InstanceNormalizationEndToEndTestImpl.cpp
28 InstanceNormalizationEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010029 IsLayerSupportedTestImpl.hpp
Aron Virginas-Tar69362cc2018-11-22 15:04:42 +000030 JsonPrinterTestImpl.cpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010031 JsonPrinterTestImpl.hpp
32 LayerReleaseConstantDataTest.cpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010033 LayerTests.hpp
Sadik Armagan20bea002019-10-16 09:29:38 +010034 LogSoftmaxEndToEndTestImpl.cpp
35 LogSoftmaxEndToEndTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010036 ConcatEndToEndTestImpl.hpp
Matteo Martincigh88054f82019-05-17 12:15:30 +010037 MockBackend.cpp
38 MockBackend.hpp
39 MockBackendId.hpp
Matteo Martincighf02e6cd2019-05-17 12:15:30 +010040 OptimizeSubgraphViewTests.cpp
David Monahan005288d2019-05-14 10:42:38 +010041 OptimizationViewsTests.cpp
Nikhil Raj747f5862019-07-19 15:15:23 +010042 PreluEndToEndTestImpl.hpp
James Conroy0800bf52020-05-14 12:46:44 +010043 QLstmEndToEndTestImpl.cpp
44 QLstmEndToEndTestImpl.hpp
Aron Virginas-Tar46ff1ca2019-09-12 11:03:09 +010045 QuantizedLstmEndToEndTestImpl.cpp
Francis Murtaghb3fc2522019-08-09 13:20:50 +010046 QuantizedLstmEndToEndTestImpl.hpp
Teresa Charlin2e3f4d22020-07-29 14:29:20 +010047 RankEndToEndTestImpl.hpp
Aron Virginas-Tarfe15eff2019-07-01 16:12:58 +010048 ResizeEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010049 RuntimeTestImpl.hpp
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +010050 SpaceToDepthEndToEndTestImpl.cpp
Keith Davis9515c7e2019-06-21 09:33:59 +010051 SpaceToDepthEndToEndTestImpl.hpp
Narumol Prangnawarat0be43382019-05-27 11:29:59 +010052 SplitterEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010053 TensorCopyUtils.cpp
54 TensorCopyUtils.hpp
Aron Virginas-Tar56055192018-11-12 18:10:43 +000055 WorkloadFactoryHelper.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010056 WorkloadTestUtils.hpp
Sadik Armagan9199e582019-09-05 17:35:31 +010057 layerTests/AbsTestImpl.cpp
58 layerTests/AbsTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010059 layerTests/ActivationTestImpl.cpp
60 layerTests/ActivationTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010061 layerTests/AdditionTestImpl.cpp
62 layerTests/AdditionTestImpl.hpp
Nikhil Raj68c2c902019-09-19 11:21:11 +010063 layerTests/ArgMinMaxTestImpl.cpp
64 layerTests/ArgMinMaxTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010065 layerTests/BatchNormalizationTestImpl.cpp
66 layerTests/BatchNormalizationTestImpl.hpp
67 layerTests/BatchToSpaceNdTestImpl.hpp
Aron Virginas-Tar3bc00ec2019-10-18 15:42:58 +010068 layerTests/ComparisonTestImpl.cpp
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +010069 layerTests/ComparisonTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010070 layerTests/ConcatTestImpl.cpp
71 layerTests/ConcatTestImpl.hpp
72 layerTests/ConstantTestImpl.cpp
73 layerTests/ConstantTestImpl.hpp
74 layerTests/Conv2dTestImpl.cpp
75 layerTests/Conv2dTestImpl.hpp
Narumol Prangnawarat7ddbbae2020-03-13 10:26:05 +000076 layerTests/ConvertBf16ToFp32TestImpl.cpp
77 layerTests/ConvertBf16ToFp32TestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010078 layerTests/ConvertFp16ToFp32TestImpl.cpp
79 layerTests/ConvertFp16ToFp32TestImpl.hpp
Narumol Prangnawaratea54a012020-03-16 16:36:10 +000080 layerTests/ConvertFp32ToBf16TestImpl.cpp
81 layerTests/ConvertFp32ToBf16TestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010082 layerTests/ConvertFp32ToFp16TestImpl.cpp
83 layerTests/ConvertFp32ToFp16TestImpl.hpp
84 layerTests/DebugTestImpl.cpp
85 layerTests/DebugTestImpl.hpp
Aron Virginas-Tar73f66422019-09-23 19:11:59 +010086 layerTests/DepthToSpaceTestImpl.cpp
87 layerTests/DepthToSpaceTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010088 layerTests/DequantizeTestImpl.cpp
89 layerTests/DequantizeTestImpl.hpp
90 layerTests/DetectionPostProcessTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010091 layerTests/DivisionTestImpl.cpp
92 layerTests/DivisionTestImpl.hpp
93 layerTests/ElementwiseTestImpl.hpp
josh minor4a3c6102020-01-06 16:40:46 -060094 layerTests/ElementwiseUnaryTestImpl.cpp
95 layerTests/ElementwiseUnaryTestImpl.hpp
Sadik Armagan9fabf432020-05-27 13:40:58 +010096 layerTests/ExpTestImpl.cpp
97 layerTests/ExpTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010098 layerTests/FakeQuantizationTestImpl.cpp
99 layerTests/FakeQuantizationTestImpl.hpp
Ryan OSheaf4bfa6a2020-06-10 11:33:37 +0100100 layerTests/FillTestImpl.cpp
101 layerTests/FillTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100102 layerTests/FloorTestImpl.cpp
103 layerTests/FloorTestImpl.hpp
104 layerTests/FullyConnectedTestImpl.cpp
105 layerTests/FullyConnectedTestImpl.hpp
106 layerTests/GatherTestImpl.cpp
107 layerTests/GatherTestImpl.hpp
Aron Virginas-Tar8168f402019-10-04 13:10:16 +0100108 layerTests/InstanceNormalizationTestImpl.cpp
109 layerTests/InstanceNormalizationTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100110 layerTests/L2NormalizationTestImpl.cpp
111 layerTests/L2NormalizationTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +0100112 layerTests/LayerTestResult.hpp
Aron Virginas-Tare662a942019-10-14 15:12:00 +0100113 layerTests/LogSoftmaxTestImpl.cpp
114 layerTests/LogSoftmaxTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100115 layerTests/LstmTestImpl.cpp
116 layerTests/LstmTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +0100117 layerTests/MaximumTestImpl.cpp
118 layerTests/MaximumTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100119 layerTests/MeanTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +0100120 layerTests/MinimumTestImpl.cpp
121 layerTests/MinimumTestImpl.hpp
122 layerTests/MultiplicationTestImpl.cpp
123 layerTests/MultiplicationTestImpl.hpp
Sadik Armaganac472102020-03-24 09:54:36 +0000124 layerTests/NegTestImpl.cpp
125 layerTests/NegTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100126 layerTests/NormalizationTestImpl.cpp
127 layerTests/NormalizationTestImpl.hpp
128 layerTests/PadTestImpl.cpp
129 layerTests/PadTestImpl.hpp
130 layerTests/PermuteTestImpl.hpp
131 layerTests/Pooling2dTestImpl.cpp
132 layerTests/Pooling2dTestImpl.hpp
133 layerTests/PreluTestImpl.hpp
134 layerTests/QuantizeTestImpl.cpp
135 layerTests/QuantizeTestImpl.hpp
Finn Williams2605b232020-06-10 15:53:46 +0100136 layerTests/RankTestImpl.cpp
137 layerTests/RankTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100138 layerTests/ReshapeTestImpl.cpp
139 layerTests/ReshapeTestImpl.hpp
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +0000140 layerTests/ResizeTestImpl.cpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100141 layerTests/ResizeTestImpl.hpp
142 layerTests/RsqrtTestImpl.cpp
143 layerTests/RsqrtTestImpl.hpp
Aron Virginas-Tar92b9f872019-09-17 17:27:04 +0100144 layerTests/SliceTestImpl.cpp
145 layerTests/SliceTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100146 layerTests/SoftmaxTestImpl.cpp
147 layerTests/SoftmaxTestImpl.hpp
148 layerTests/SpaceToBatchNdTestImpl.cpp
149 layerTests/SpaceToBatchNdTestImpl.hpp
150 layerTests/SpaceToDepthTestImpl.cpp
151 layerTests/SpaceToDepthTestImpl.hpp
152 layerTests/SplitterTestImpl.cpp
153 layerTests/SplitterTestImpl.hpp
Matthew Jacksone69c3992019-09-09 14:31:21 +0100154 layerTests/StackTestImpl.cpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100155 layerTests/StackTestImpl.hpp
156 layerTests/StridedSliceTestImpl.cpp
157 layerTests/StridedSliceTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +0100158 layerTests/SubtractionTestImpl.cpp
159 layerTests/SubtractionTestImpl.hpp
Aron Virginas-Tar94d3b932019-11-11 12:54:47 +0000160 layerTests/TransposeConvolution2dTestImpl.cpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100161 layerTests/TransposeConvolution2dTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +0100162)
163
Matteo Martincighdb16dd32019-08-27 16:41:11 +0100164if (ARMNNREF)
Matteo Martincighe67edb22019-08-14 14:05:46 +0100165 list(APPEND armnnBackendsCommonUnitTests_sources
Narumol Prangnawaratc53ceec2020-08-17 11:42:20 +0100166 mockBackend/MockImportBackend.cpp
167 mockBackend/MockImportBackend.hpp
168 mockBackend/MockImportLayerSupport.hpp
Matteo Martincighe67edb22019-08-14 14:05:46 +0100169 OptimizedNetworkTests.cpp
170 WorkloadDataValidation.cpp
171 )
172endif()
173
Jan Eilers146b2e12019-08-16 10:45:30 +0100174if(ARMCOMPUTENEON AND ARMCOMPUTECL)
175 list(APPEND armnnBackendsCommonUnitTests_sources
176 CompatibilityTests.cpp)
177endif()
178
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +0100179add_library(armnnBackendsCommonUnitTests OBJECT ${armnnBackendsCommonUnitTests_sources})
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +0100180target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +0000181target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +0000182target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000183target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100184target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincigh986c1862019-07-26 15:12:47 +0100185
186# Dummy shared object for testing.
187# This is a simple library used to test the utility functions that will be used to handle the shared objects.
188
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100189list(APPEND testSharedObject_sources
Matteo Martincigh986c1862019-07-26 15:12:47 +0100190 TestSharedObject.cpp
191 TestSharedObject.hpp
192)
193
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100194add_library_ex(TestSharedObject MODULE ${testSharedObject_sources})
195set_target_properties(TestSharedObject PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testSharedObject)
196file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/testSharedObject/libNoSharedObject.txt "This is not a shared object")
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100197
198# Dummy dynamic backends for testing.
199# Both a valid and a number of invalid dummy dynamic backends (covering various use cases) share the
200# same source code. The various test cases are put together in the code using compiler directives.
201
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100202list(APPEND testDynamicBackend_sources
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100203 TestDynamicBackend.cpp
204 TestDynamicBackend.hpp
205)
206
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100207add_library_ex(ValidTestDynamicBackend MODULE ${testDynamicBackend_sources})
Matteo Martincighe54aa062019-08-05 14:12:11 +0100208target_compile_definitions(ValidTestDynamicBackend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_1)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100209target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
210target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000211target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100212target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100213target_link_libraries(ValidTestDynamicBackend armnn)
214set_target_properties(ValidTestDynamicBackend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100215
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100216add_library_ex(InvalidTestDynamicBackend1 MODULE ${testDynamicBackend_sources})
217target_compile_definitions(InvalidTestDynamicBackend1 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_1)
218target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
219target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000220target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100221target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100222target_link_libraries(InvalidTestDynamicBackend1 armnn)
223set_target_properties(InvalidTestDynamicBackend1 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100224
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100225add_library_ex(InvalidTestDynamicBackend2 MODULE ${testDynamicBackend_sources})
226target_compile_definitions(InvalidTestDynamicBackend2 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_2)
227target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
228target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000229target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100230target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100231target_link_libraries(InvalidTestDynamicBackend2 armnn)
232set_target_properties(InvalidTestDynamicBackend2 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100233
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100234add_library_ex(InvalidTestDynamicBackend3 MODULE ${testDynamicBackend_sources})
235target_compile_definitions(InvalidTestDynamicBackend3 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_3)
236target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
237target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000238target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100239target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100240target_link_libraries(InvalidTestDynamicBackend3 armnn)
241set_target_properties(InvalidTestDynamicBackend3 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100242
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100243add_library_ex(InvalidTestDynamicBackend4 MODULE ${testDynamicBackend_sources})
244target_compile_definitions(InvalidTestDynamicBackend4 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_4)
245target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
246target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000247target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100248target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100249target_link_libraries(InvalidTestDynamicBackend4 armnn)
250set_target_properties(InvalidTestDynamicBackend4 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100251
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100252add_library_ex(InvalidTestDynamicBackend5 MODULE ${testDynamicBackend_sources})
253target_compile_definitions(InvalidTestDynamicBackend5 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_5)
254target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
255target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000256target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100257target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100258target_link_libraries(InvalidTestDynamicBackend5 armnn)
259set_target_properties(InvalidTestDynamicBackend5 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100260
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100261add_library_ex(InvalidTestDynamicBackend6 MODULE ${testDynamicBackend_sources})
262target_compile_definitions(InvalidTestDynamicBackend6 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_6)
263target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
264target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000265target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100266target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100267target_link_libraries(InvalidTestDynamicBackend6 armnn)
268set_target_properties(InvalidTestDynamicBackend6 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100269
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100270add_library_ex(InvalidTestDynamicBackend7 MODULE ${testDynamicBackend_sources})
271target_compile_definitions(InvalidTestDynamicBackend7 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_7)
272target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
273target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000274target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100275target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100276target_link_libraries(InvalidTestDynamicBackend7 armnn)
277set_target_properties(InvalidTestDynamicBackend7 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighf0a0a9e2019-08-05 15:27:55 +0100278
279# Dummy files and directories for testing the dynamic backend file parsing.
280
281file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so "Test file for dynamic backend file parsing")
282file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1 "Test file for dynamic backend file parsing")
283file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1.2 "Test file for dynamic backend file parsing")
284file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1.2.3 "Test file for dynamic backend file parsing")
285file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.10.1.27 "Test file for dynamic backend file parsing")
286file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.10.1.33. "Test file for dynamic backend file parsing")
287file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.3.4..5 "Test file for dynamic backend file parsing")
288file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1,1.1 "Test file for dynamic backend file parsing")
289
290file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm123_GpuAcc_backend.so "Test file for dynamic backend file parsing")
291file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc456_backend.so "Test file for dynamic backend file parsing")
292file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm%Co_GpuAcc_backend.so "Test file for dynamic backend file parsing")
293file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_Gpu.Acc_backend.so "Test file for dynamic backend file parsing")
294
295file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/GpuAcc_backend.so "Test file for dynamic backend file parsing")
296file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/_GpuAcc_backend.so "Test file for dynamic backend file parsing")
297file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm__backend.so "Test file for dynamic backend file parsing")
298file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc.so "Test file for dynamic backend file parsing")
299file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/__backend.so "Test file for dynamic backend file parsing")
300file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/__.so "Test file for dynamic backend file parsing")
301
302file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend "Test file for dynamic backend file parsing")
303file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend_v1.2.so "Test file for dynamic backend file parsing")
304
305file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath2/Arm_CpuAcc_backend.so "Test file for dynamic backend file parsing")
306add_custom_target(link_dummy_dynamic_backend ALL
307 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so backendsTestPath2/Arm_CpuAcc_backend.so.1
308 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so.1 backendsTestPath2/Arm_CpuAcc_backend.so.1.2
309 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so.1.2 backendsTestPath2/Arm_CpuAcc_backend.so.1.2.3
310 COMMAND ${CMAKE_COMMAND} -E create_symlink nothing backendsTestPath2/Arm_no_backend.so)
311file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath2/Arm_GpuAcc_backend.so "Test file for dynamic backend file parsing")
312
313file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath3)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100314
315# Dummy dynamic backends for testing.
316# These shared objects are used to test the creation of dynamic backend instances in ArmNN.
317
318add_library_ex(Arm_TestValid2_backend MODULE ${testDynamicBackend_sources})
319target_compile_definitions(Arm_TestValid2_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_2)
320target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
321target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000322target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100323target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100324target_link_libraries(Arm_TestValid2_backend armnn)
325set_target_properties(Arm_TestValid2_backend PROPERTIES PREFIX "")
326set_target_properties(Arm_TestValid2_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5)
327add_custom_command(TARGET Arm_TestValid2_backend POST_BUILD
328 COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:Arm_TestValid2_backend> ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
329
330add_library_ex(Arm_TestValid3_backend MODULE ${testDynamicBackend_sources})
331target_compile_definitions(Arm_TestValid3_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_3)
332target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
333target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000334target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100335target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100336target_link_libraries(Arm_TestValid3_backend armnn)
337set_target_properties(Arm_TestValid3_backend PROPERTIES PREFIX "")
338set_target_properties(Arm_TestValid3_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5)
339
340add_library_ex(Arm_TestInvalid8_backend MODULE ${testDynamicBackend_sources})
341target_compile_definitions(Arm_TestInvalid8_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_8)
342target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
343target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000344target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100345target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100346target_link_libraries(Arm_TestInvalid8_backend armnn)
347set_target_properties(Arm_TestInvalid8_backend PROPERTIES PREFIX "")
348set_target_properties(Arm_TestInvalid8_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5)
349
350add_library_ex(Arm_TestValid4_backend MODULE ${testDynamicBackend_sources})
351target_compile_definitions(Arm_TestValid4_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_4)
352target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
353target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000354target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100355target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100356target_link_libraries(Arm_TestValid4_backend armnn)
357set_target_properties(Arm_TestValid4_backend PROPERTIES PREFIX "")
358set_target_properties(Arm_TestValid4_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
359
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100360add_library_ex(Arm_TestValid5_backend MODULE ${testDynamicBackend_sources})
361target_compile_definitions(Arm_TestValid5_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_5)
362target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
363target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000364target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100365target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100366target_link_libraries(Arm_TestValid5_backend armnn)
367set_target_properties(Arm_TestValid5_backend PROPERTIES PREFIX "")
368set_target_properties(Arm_TestValid5_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
369
Matteo Martincighe54aa062019-08-05 14:12:11 +0100370add_library_ex(Arm_TestInvalid9_backend MODULE ${testDynamicBackend_sources})
371target_compile_definitions(Arm_TestInvalid9_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_9)
372target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
373target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000374target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100375target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100376target_link_libraries(Arm_TestInvalid9_backend armnn)
377set_target_properties(Arm_TestInvalid9_backend PROPERTIES PREFIX "")
378set_target_properties(Arm_TestInvalid9_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
379
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100380add_library_ex(Arm_TestInvalid10_backend MODULE ${testDynamicBackend_sources})
381target_compile_definitions(Arm_TestInvalid10_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_10)
382target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
383target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000384target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100385target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100386target_link_libraries(Arm_TestInvalid10_backend armnn)
387set_target_properties(Arm_TestInvalid10_backend PROPERTIES PREFIX "")
388set_target_properties(Arm_TestInvalid10_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath9)
389
390add_library_ex(Arm_TestInvalid11_backend MODULE ${testDynamicBackend_sources})
391target_compile_definitions(Arm_TestInvalid11_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_11)
392target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
393target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000394target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +0100395target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100396target_link_libraries(Arm_TestInvalid11_backend armnn)
397set_target_properties(Arm_TestInvalid11_backend PROPERTIES PREFIX "")
398set_target_properties(Arm_TestInvalid11_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath9)
399
Matteo Martincighe54aa062019-08-05 14:12:11 +0100400file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath7)