blob: ea214de771c8eb213ee6605fedefc7873a0c55d6 [file] [log] [blame]
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +01001#
2# Copyright © 2017 Arm Ltd. All rights reserved.
3# SPDX-License-Identifier: MIT
4#
5
6list(APPEND armnnBackendsCommonUnitTests_sources
7 ActivationFixture.hpp
Narumol Prangnawaratd1f57732019-10-31 14:24:02 +00008 ArgMinMaxEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +01009 BackendIdTests.cpp
David Monahanc1536d62020-02-12 15:52:35 +000010 BackendProfilingTests.cpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010011 BackendRegistryTests.cpp
Matteo Martincighf02e6cd2019-05-17 12:15:30 +010012 CommonTestUtils.cpp
narpra01b9546cf2018-11-20 15:21:28 +000013 CommonTestUtils.hpp
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +010014 ComparisonEndToEndTestImpl.hpp
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +010015 DataLayoutUtils.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010016 DataTypeUtils.hpp
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +010017 DepthToSpaceEndToEndTestImpl.hpp
Narumol Prangnawarat8c7324d2019-05-31 16:42:11 +010018 DequantizeEndToEndTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010019 DetectionPostProcessEndToEndTestImpl.hpp
Matteo Martincighac60d282019-07-25 15:25:44 +010020 DynamicBackendTests.cpp
21 DynamicBackendTests.hpp
josh minor4a3c6102020-01-06 16:40:46 -060022 ElementwiseUnaryEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010023 EndToEndTestImpl.hpp
Jan Eilersbca73e12020-03-11 12:52:46 +000024 ActivationEndToEndTestImpl.hpp
narpra01db2b1602019-01-23 15:23:11 +000025 GatherEndToEndTestImpl.hpp
Sadik Armagan062e0e92019-10-14 10:31:43 +010026 InstanceNormalizationEndToEndTestImpl.cpp
27 InstanceNormalizationEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010028 IsLayerSupportedTestImpl.hpp
Aron Virginas-Tar69362cc2018-11-22 15:04:42 +000029 JsonPrinterTestImpl.cpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010030 JsonPrinterTestImpl.hpp
31 LayerReleaseConstantDataTest.cpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010032 LayerTests.hpp
Sadik Armagan20bea002019-10-16 09:29:38 +010033 LogSoftmaxEndToEndTestImpl.cpp
34 LogSoftmaxEndToEndTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010035 ConcatEndToEndTestImpl.hpp
Matteo Martincigh88054f82019-05-17 12:15:30 +010036 MockBackend.cpp
37 MockBackend.hpp
38 MockBackendId.hpp
Matteo Martincighf02e6cd2019-05-17 12:15:30 +010039 OptimizeSubgraphViewTests.cpp
David Monahan005288d2019-05-14 10:42:38 +010040 OptimizationViewsTests.cpp
Nikhil Raj747f5862019-07-19 15:15:23 +010041 PreluEndToEndTestImpl.hpp
Aron Virginas-Tar46ff1ca2019-09-12 11:03:09 +010042 QuantizedLstmEndToEndTestImpl.cpp
Francis Murtaghb3fc2522019-08-09 13:20:50 +010043 QuantizedLstmEndToEndTestImpl.hpp
Aron Virginas-Tarfe15eff2019-07-01 16:12:58 +010044 ResizeEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010045 RuntimeTestImpl.hpp
Aron Virginas-Tarf97f6da2019-10-01 18:35:44 +010046 SpaceToDepthEndToEndTestImpl.cpp
Keith Davis9515c7e2019-06-21 09:33:59 +010047 SpaceToDepthEndToEndTestImpl.hpp
Narumol Prangnawarat0be43382019-05-27 11:29:59 +010048 SplitterEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010049 TensorCopyUtils.cpp
50 TensorCopyUtils.hpp
Aron Virginas-Tar56055192018-11-12 18:10:43 +000051 WorkloadFactoryHelper.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010052 WorkloadTestUtils.hpp
Sadik Armagan9199e582019-09-05 17:35:31 +010053 layerTests/AbsTestImpl.cpp
54 layerTests/AbsTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010055 layerTests/ActivationTestImpl.cpp
56 layerTests/ActivationTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010057 layerTests/AdditionTestImpl.cpp
58 layerTests/AdditionTestImpl.hpp
Nikhil Raj68c2c902019-09-19 11:21:11 +010059 layerTests/ArgMinMaxTestImpl.cpp
60 layerTests/ArgMinMaxTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010061 layerTests/BatchNormalizationTestImpl.cpp
62 layerTests/BatchNormalizationTestImpl.hpp
63 layerTests/BatchToSpaceNdTestImpl.hpp
Aron Virginas-Tar3bc00ec2019-10-18 15:42:58 +010064 layerTests/ComparisonTestImpl.cpp
Aron Virginas-Tar77bfb5e2019-10-16 17:45:38 +010065 layerTests/ComparisonTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010066 layerTests/ConcatTestImpl.cpp
67 layerTests/ConcatTestImpl.hpp
68 layerTests/ConstantTestImpl.cpp
69 layerTests/ConstantTestImpl.hpp
70 layerTests/Conv2dTestImpl.cpp
71 layerTests/Conv2dTestImpl.hpp
Narumol Prangnawarat7ddbbae2020-03-13 10:26:05 +000072 layerTests/ConvertBf16ToFp32TestImpl.cpp
73 layerTests/ConvertBf16ToFp32TestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010074 layerTests/ConvertFp16ToFp32TestImpl.cpp
75 layerTests/ConvertFp16ToFp32TestImpl.hpp
76 layerTests/ConvertFp32ToFp16TestImpl.cpp
77 layerTests/ConvertFp32ToFp16TestImpl.hpp
78 layerTests/DebugTestImpl.cpp
79 layerTests/DebugTestImpl.hpp
Aron Virginas-Tar73f66422019-09-23 19:11:59 +010080 layerTests/DepthToSpaceTestImpl.cpp
81 layerTests/DepthToSpaceTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010082 layerTests/DequantizeTestImpl.cpp
83 layerTests/DequantizeTestImpl.hpp
84 layerTests/DetectionPostProcessTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010085 layerTests/DivisionTestImpl.cpp
86 layerTests/DivisionTestImpl.hpp
87 layerTests/ElementwiseTestImpl.hpp
josh minor4a3c6102020-01-06 16:40:46 -060088 layerTests/ElementwiseUnaryTestImpl.cpp
89 layerTests/ElementwiseUnaryTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010090 layerTests/FakeQuantizationTestImpl.cpp
91 layerTests/FakeQuantizationTestImpl.hpp
92 layerTests/FloorTestImpl.cpp
93 layerTests/FloorTestImpl.hpp
94 layerTests/FullyConnectedTestImpl.cpp
95 layerTests/FullyConnectedTestImpl.hpp
96 layerTests/GatherTestImpl.cpp
97 layerTests/GatherTestImpl.hpp
Aron Virginas-Tar8168f402019-10-04 13:10:16 +010098 layerTests/InstanceNormalizationTestImpl.cpp
99 layerTests/InstanceNormalizationTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100100 layerTests/L2NormalizationTestImpl.cpp
101 layerTests/L2NormalizationTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +0100102 layerTests/LayerTestResult.hpp
Aron Virginas-Tare662a942019-10-14 15:12:00 +0100103 layerTests/LogSoftmaxTestImpl.cpp
104 layerTests/LogSoftmaxTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100105 layerTests/LstmTestImpl.cpp
106 layerTests/LstmTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +0100107 layerTests/MaximumTestImpl.cpp
108 layerTests/MaximumTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100109 layerTests/MeanTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +0100110 layerTests/MinimumTestImpl.cpp
111 layerTests/MinimumTestImpl.hpp
112 layerTests/MultiplicationTestImpl.cpp
113 layerTests/MultiplicationTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100114 layerTests/NormalizationTestImpl.cpp
115 layerTests/NormalizationTestImpl.hpp
116 layerTests/PadTestImpl.cpp
117 layerTests/PadTestImpl.hpp
118 layerTests/PermuteTestImpl.hpp
119 layerTests/Pooling2dTestImpl.cpp
120 layerTests/Pooling2dTestImpl.hpp
121 layerTests/PreluTestImpl.hpp
122 layerTests/QuantizeTestImpl.cpp
123 layerTests/QuantizeTestImpl.hpp
124 layerTests/ReshapeTestImpl.cpp
125 layerTests/ReshapeTestImpl.hpp
Aron Virginas-Tarb3670b12019-10-28 16:06:50 +0000126 layerTests/ResizeTestImpl.cpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100127 layerTests/ResizeTestImpl.hpp
128 layerTests/RsqrtTestImpl.cpp
129 layerTests/RsqrtTestImpl.hpp
Aron Virginas-Tar92b9f872019-09-17 17:27:04 +0100130 layerTests/SliceTestImpl.cpp
131 layerTests/SliceTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100132 layerTests/SoftmaxTestImpl.cpp
133 layerTests/SoftmaxTestImpl.hpp
134 layerTests/SpaceToBatchNdTestImpl.cpp
135 layerTests/SpaceToBatchNdTestImpl.hpp
136 layerTests/SpaceToDepthTestImpl.cpp
137 layerTests/SpaceToDepthTestImpl.hpp
138 layerTests/SplitterTestImpl.cpp
139 layerTests/SplitterTestImpl.hpp
Matthew Jacksone69c3992019-09-09 14:31:21 +0100140 layerTests/StackTestImpl.cpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100141 layerTests/StackTestImpl.hpp
142 layerTests/StridedSliceTestImpl.cpp
143 layerTests/StridedSliceTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +0100144 layerTests/SubtractionTestImpl.cpp
145 layerTests/SubtractionTestImpl.hpp
Aron Virginas-Tar94d3b932019-11-11 12:54:47 +0000146 layerTests/TransposeConvolution2dTestImpl.cpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100147 layerTests/TransposeConvolution2dTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +0100148)
149
Matteo Martincighdb16dd32019-08-27 16:41:11 +0100150if (ARMNNREF)
Matteo Martincighe67edb22019-08-14 14:05:46 +0100151 list(APPEND armnnBackendsCommonUnitTests_sources
152 OptimizedNetworkTests.cpp
153 WorkloadDataValidation.cpp
154 )
155endif()
156
Jan Eilers146b2e12019-08-16 10:45:30 +0100157if(ARMCOMPUTENEON AND ARMCOMPUTECL)
158 list(APPEND armnnBackendsCommonUnitTests_sources
159 CompatibilityTests.cpp)
160endif()
161
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +0100162add_library(armnnBackendsCommonUnitTests OBJECT ${armnnBackendsCommonUnitTests_sources})
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +0100163target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +0000164target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +0000165target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000166target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincigh986c1862019-07-26 15:12:47 +0100167
168# Dummy shared object for testing.
169# This is a simple library used to test the utility functions that will be used to handle the shared objects.
170
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100171list(APPEND testSharedObject_sources
Matteo Martincigh986c1862019-07-26 15:12:47 +0100172 TestSharedObject.cpp
173 TestSharedObject.hpp
174)
175
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100176add_library_ex(TestSharedObject MODULE ${testSharedObject_sources})
177set_target_properties(TestSharedObject PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testSharedObject)
178file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/testSharedObject/libNoSharedObject.txt "This is not a shared object")
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100179
180# Dummy dynamic backends for testing.
181# Both a valid and a number of invalid dummy dynamic backends (covering various use cases) share the
182# same source code. The various test cases are put together in the code using compiler directives.
183
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100184list(APPEND testDynamicBackend_sources
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100185 TestDynamicBackend.cpp
186 TestDynamicBackend.hpp
187)
188
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100189add_library_ex(ValidTestDynamicBackend MODULE ${testDynamicBackend_sources})
Matteo Martincighe54aa062019-08-05 14:12:11 +0100190target_compile_definitions(ValidTestDynamicBackend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_1)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100191target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
192target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000193target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100194target_link_libraries(ValidTestDynamicBackend armnn)
195set_target_properties(ValidTestDynamicBackend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100196
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100197add_library_ex(InvalidTestDynamicBackend1 MODULE ${testDynamicBackend_sources})
198target_compile_definitions(InvalidTestDynamicBackend1 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_1)
199target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
200target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000201target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100202target_link_libraries(InvalidTestDynamicBackend1 armnn)
203set_target_properties(InvalidTestDynamicBackend1 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100204
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100205add_library_ex(InvalidTestDynamicBackend2 MODULE ${testDynamicBackend_sources})
206target_compile_definitions(InvalidTestDynamicBackend2 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_2)
207target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
208target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000209target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100210target_link_libraries(InvalidTestDynamicBackend2 armnn)
211set_target_properties(InvalidTestDynamicBackend2 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100212
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100213add_library_ex(InvalidTestDynamicBackend3 MODULE ${testDynamicBackend_sources})
214target_compile_definitions(InvalidTestDynamicBackend3 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_3)
215target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
216target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000217target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100218target_link_libraries(InvalidTestDynamicBackend3 armnn)
219set_target_properties(InvalidTestDynamicBackend3 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100220
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100221add_library_ex(InvalidTestDynamicBackend4 MODULE ${testDynamicBackend_sources})
222target_compile_definitions(InvalidTestDynamicBackend4 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_4)
223target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
224target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000225target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100226target_link_libraries(InvalidTestDynamicBackend4 armnn)
227set_target_properties(InvalidTestDynamicBackend4 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100228
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100229add_library_ex(InvalidTestDynamicBackend5 MODULE ${testDynamicBackend_sources})
230target_compile_definitions(InvalidTestDynamicBackend5 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_5)
231target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
232target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000233target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100234target_link_libraries(InvalidTestDynamicBackend5 armnn)
235set_target_properties(InvalidTestDynamicBackend5 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100236
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100237add_library_ex(InvalidTestDynamicBackend6 MODULE ${testDynamicBackend_sources})
238target_compile_definitions(InvalidTestDynamicBackend6 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_6)
239target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
240target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000241target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100242target_link_libraries(InvalidTestDynamicBackend6 armnn)
243set_target_properties(InvalidTestDynamicBackend6 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(InvalidTestDynamicBackend7 MODULE ${testDynamicBackend_sources})
246target_compile_definitions(InvalidTestDynamicBackend7 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_7)
247target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
248target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000249target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100250target_link_libraries(InvalidTestDynamicBackend7 armnn)
251set_target_properties(InvalidTestDynamicBackend7 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighf0a0a9e2019-08-05 15:27:55 +0100252
253# Dummy files and directories for testing the dynamic backend file parsing.
254
255file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so "Test file for dynamic backend file parsing")
256file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1 "Test file for dynamic backend file parsing")
257file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1.2 "Test file for dynamic backend file parsing")
258file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1.2.3 "Test file for dynamic backend file parsing")
259file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.10.1.27 "Test file for dynamic backend file parsing")
260file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.10.1.33. "Test file for dynamic backend file parsing")
261file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.3.4..5 "Test file for dynamic backend file parsing")
262file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1,1.1 "Test file for dynamic backend file parsing")
263
264file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm123_GpuAcc_backend.so "Test file for dynamic backend file parsing")
265file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc456_backend.so "Test file for dynamic backend file parsing")
266file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm%Co_GpuAcc_backend.so "Test file for dynamic backend file parsing")
267file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_Gpu.Acc_backend.so "Test file for dynamic backend file parsing")
268
269file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/GpuAcc_backend.so "Test file for dynamic backend file parsing")
270file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/_GpuAcc_backend.so "Test file for dynamic backend file parsing")
271file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm__backend.so "Test file for dynamic backend file parsing")
272file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc.so "Test file for dynamic backend file parsing")
273file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/__backend.so "Test file for dynamic backend file parsing")
274file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/__.so "Test file for dynamic backend file parsing")
275
276file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend "Test file for dynamic backend file parsing")
277file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend_v1.2.so "Test file for dynamic backend file parsing")
278
279file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath2/Arm_CpuAcc_backend.so "Test file for dynamic backend file parsing")
280add_custom_target(link_dummy_dynamic_backend ALL
281 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so backendsTestPath2/Arm_CpuAcc_backend.so.1
282 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so.1 backendsTestPath2/Arm_CpuAcc_backend.so.1.2
283 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so.1.2 backendsTestPath2/Arm_CpuAcc_backend.so.1.2.3
284 COMMAND ${CMAKE_COMMAND} -E create_symlink nothing backendsTestPath2/Arm_no_backend.so)
285file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath2/Arm_GpuAcc_backend.so "Test file for dynamic backend file parsing")
286
287file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath3)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100288
289# Dummy dynamic backends for testing.
290# These shared objects are used to test the creation of dynamic backend instances in ArmNN.
291
292add_library_ex(Arm_TestValid2_backend MODULE ${testDynamicBackend_sources})
293target_compile_definitions(Arm_TestValid2_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_2)
294target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
295target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000296target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100297target_link_libraries(Arm_TestValid2_backend armnn)
298set_target_properties(Arm_TestValid2_backend PROPERTIES PREFIX "")
299set_target_properties(Arm_TestValid2_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5)
300add_custom_command(TARGET Arm_TestValid2_backend POST_BUILD
301 COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:Arm_TestValid2_backend> ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
302
303add_library_ex(Arm_TestValid3_backend MODULE ${testDynamicBackend_sources})
304target_compile_definitions(Arm_TestValid3_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_3)
305target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
306target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000307target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100308target_link_libraries(Arm_TestValid3_backend armnn)
309set_target_properties(Arm_TestValid3_backend PROPERTIES PREFIX "")
310set_target_properties(Arm_TestValid3_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5)
311
312add_library_ex(Arm_TestInvalid8_backend MODULE ${testDynamicBackend_sources})
313target_compile_definitions(Arm_TestInvalid8_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_8)
314target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
315target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000316target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100317target_link_libraries(Arm_TestInvalid8_backend armnn)
318set_target_properties(Arm_TestInvalid8_backend PROPERTIES PREFIX "")
319set_target_properties(Arm_TestInvalid8_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5)
320
321add_library_ex(Arm_TestValid4_backend MODULE ${testDynamicBackend_sources})
322target_compile_definitions(Arm_TestValid4_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_4)
323target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
324target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000325target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100326target_link_libraries(Arm_TestValid4_backend armnn)
327set_target_properties(Arm_TestValid4_backend PROPERTIES PREFIX "")
328set_target_properties(Arm_TestValid4_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
329
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100330add_library_ex(Arm_TestValid5_backend MODULE ${testDynamicBackend_sources})
331target_compile_definitions(Arm_TestValid5_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_5)
332target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
333target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000334target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100335target_link_libraries(Arm_TestValid5_backend armnn)
336set_target_properties(Arm_TestValid5_backend PROPERTIES PREFIX "")
337set_target_properties(Arm_TestValid5_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
338
Matteo Martincighe54aa062019-08-05 14:12:11 +0100339add_library_ex(Arm_TestInvalid9_backend MODULE ${testDynamicBackend_sources})
340target_compile_definitions(Arm_TestInvalid9_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_9)
341target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
342target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000343target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100344target_link_libraries(Arm_TestInvalid9_backend armnn)
345set_target_properties(Arm_TestInvalid9_backend PROPERTIES PREFIX "")
346set_target_properties(Arm_TestInvalid9_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
347
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100348add_library_ex(Arm_TestInvalid10_backend MODULE ${testDynamicBackend_sources})
349target_compile_definitions(Arm_TestInvalid10_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_10)
350target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
351target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000352target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100353target_link_libraries(Arm_TestInvalid10_backend armnn)
354set_target_properties(Arm_TestInvalid10_backend PROPERTIES PREFIX "")
355set_target_properties(Arm_TestInvalid10_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath9)
356
357add_library_ex(Arm_TestInvalid11_backend MODULE ${testDynamicBackend_sources})
358target_compile_definitions(Arm_TestInvalid11_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_11)
359target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
360target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +0000361target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100362target_link_libraries(Arm_TestInvalid11_backend armnn)
363set_target_properties(Arm_TestInvalid11_backend PROPERTIES PREFIX "")
364set_target_properties(Arm_TestInvalid11_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath9)
365
Matteo Martincighe54aa062019-08-05 14:12:11 +0100366file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath7)