blob: e46d48145abf04d5dbd0d114ec2d4cf3cca96923 [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
Aron Virginas-Tar8fccd862019-09-09 11:22:56 +01007 AbsEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +01008 ActivationFixture.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +01009 BackendIdTests.cpp
10 BackendRegistryTests.cpp
Matteo Martincighf02e6cd2019-05-17 12:15:30 +010011 CommonTestUtils.cpp
narpra01b9546cf2018-11-20 15:21:28 +000012 CommonTestUtils.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010013 DataTypeUtils.hpp
Narumol Prangnawarat8c7324d2019-05-31 16:42:11 +010014 DequantizeEndToEndTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010015 DetectionPostProcessEndToEndTestImpl.hpp
Matteo Martincighac60d282019-07-25 15:25:44 +010016 DynamicBackendTests.cpp
17 DynamicBackendTests.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010018 EndToEndTestImpl.hpp
narpra01db2b1602019-01-23 15:23:11 +000019 GatherEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010020 IsLayerSupportedTestImpl.hpp
Aron Virginas-Tar69362cc2018-11-22 15:04:42 +000021 JsonPrinterTestImpl.cpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010022 JsonPrinterTestImpl.hpp
23 LayerReleaseConstantDataTest.cpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010024 LayerTests.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010025 ConcatEndToEndTestImpl.hpp
Matteo Martincigh88054f82019-05-17 12:15:30 +010026 MockBackend.cpp
27 MockBackend.hpp
28 MockBackendId.hpp
Matteo Martincighf02e6cd2019-05-17 12:15:30 +010029 OptimizeSubgraphViewTests.cpp
David Monahan005288d2019-05-14 10:42:38 +010030 OptimizationViewsTests.cpp
Nikhil Raj747f5862019-07-19 15:15:23 +010031 PreluEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010032 QuantizeHelper.hpp
Francis Murtaghb3fc2522019-08-09 13:20:50 +010033 QuantizedLstmEndToEndTestImpl.hpp
Aron Virginas-Tarfe15eff2019-07-01 16:12:58 +010034 ResizeEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010035 RuntimeTestImpl.hpp
Keith Davis9515c7e2019-06-21 09:33:59 +010036 SpaceToDepthEndToEndTestImpl.hpp
Narumol Prangnawarat0be43382019-05-27 11:29:59 +010037 SplitterEndToEndTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010038 TensorCopyUtils.cpp
39 TensorCopyUtils.hpp
Aron Virginas-Tar56055192018-11-12 18:10:43 +000040 WorkloadFactoryHelper.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +010041 WorkloadTestUtils.hpp
Sadik Armagan9199e582019-09-05 17:35:31 +010042 layerTests/AbsTestImpl.cpp
43 layerTests/AbsTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010044 layerTests/ActivationTestImpl.cpp
45 layerTests/ActivationTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010046 layerTests/AdditionTestImpl.cpp
47 layerTests/AdditionTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010048 layerTests/BatchNormalizationTestImpl.cpp
49 layerTests/BatchNormalizationTestImpl.hpp
50 layerTests/BatchToSpaceNdTestImpl.hpp
51 layerTests/ConcatTestImpl.cpp
52 layerTests/ConcatTestImpl.hpp
53 layerTests/ConstantTestImpl.cpp
54 layerTests/ConstantTestImpl.hpp
55 layerTests/Conv2dTestImpl.cpp
56 layerTests/Conv2dTestImpl.hpp
57 layerTests/ConvertFp16ToFp32TestImpl.cpp
58 layerTests/ConvertFp16ToFp32TestImpl.hpp
59 layerTests/ConvertFp32ToFp16TestImpl.cpp
60 layerTests/ConvertFp32ToFp16TestImpl.hpp
61 layerTests/DebugTestImpl.cpp
62 layerTests/DebugTestImpl.hpp
63 layerTests/DequantizeTestImpl.cpp
64 layerTests/DequantizeTestImpl.hpp
65 layerTests/DetectionPostProcessTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010066 layerTests/DivisionTestImpl.cpp
67 layerTests/DivisionTestImpl.hpp
68 layerTests/ElementwiseTestImpl.hpp
69 layerTests/EqualTestImpl.cpp
70 layerTests/EqualTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010071 layerTests/FakeQuantizationTestImpl.cpp
72 layerTests/FakeQuantizationTestImpl.hpp
73 layerTests/FloorTestImpl.cpp
74 layerTests/FloorTestImpl.hpp
75 layerTests/FullyConnectedTestImpl.cpp
76 layerTests/FullyConnectedTestImpl.hpp
77 layerTests/GatherTestImpl.cpp
78 layerTests/GatherTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010079 layerTests/GreaterTestImpl.cpp
80 layerTests/GreaterTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010081 layerTests/L2NormalizationTestImpl.cpp
82 layerTests/L2NormalizationTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010083 layerTests/LayerTestResult.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010084 layerTests/LstmTestImpl.cpp
85 layerTests/LstmTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010086 layerTests/MaximumTestImpl.cpp
87 layerTests/MaximumTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010088 layerTests/MeanTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +010089 layerTests/MinimumTestImpl.cpp
90 layerTests/MinimumTestImpl.hpp
91 layerTests/MultiplicationTestImpl.cpp
92 layerTests/MultiplicationTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +010093 layerTests/NormalizationTestImpl.cpp
94 layerTests/NormalizationTestImpl.hpp
95 layerTests/PadTestImpl.cpp
96 layerTests/PadTestImpl.hpp
97 layerTests/PermuteTestImpl.hpp
98 layerTests/Pooling2dTestImpl.cpp
99 layerTests/Pooling2dTestImpl.hpp
100 layerTests/PreluTestImpl.hpp
101 layerTests/QuantizeTestImpl.cpp
102 layerTests/QuantizeTestImpl.hpp
103 layerTests/ReshapeTestImpl.cpp
104 layerTests/ReshapeTestImpl.hpp
105 layerTests/ResizeTestImpl.hpp
106 layerTests/RsqrtTestImpl.cpp
107 layerTests/RsqrtTestImpl.hpp
108 layerTests/SoftmaxTestImpl.cpp
109 layerTests/SoftmaxTestImpl.hpp
110 layerTests/SpaceToBatchNdTestImpl.cpp
111 layerTests/SpaceToBatchNdTestImpl.hpp
112 layerTests/SpaceToDepthTestImpl.cpp
113 layerTests/SpaceToDepthTestImpl.hpp
114 layerTests/SplitterTestImpl.cpp
115 layerTests/SplitterTestImpl.hpp
Matthew Jacksone69c3992019-09-09 14:31:21 +0100116 layerTests/StackTestImpl.cpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100117 layerTests/StackTestImpl.hpp
118 layerTests/StridedSliceTestImpl.cpp
119 layerTests/StridedSliceTestImpl.hpp
Aron Virginas-Tare89ebad2019-08-27 18:14:26 +0100120 layerTests/SubtractionTestImpl.cpp
121 layerTests/SubtractionTestImpl.hpp
Aron Virginas-Tar00d306e2019-08-28 18:08:46 +0100122 layerTests/TransposeConvolution2dTestImpl.hpp
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +0100123)
124
Matteo Martincighdb16dd32019-08-27 16:41:11 +0100125if (ARMNNREF)
Matteo Martincighe67edb22019-08-14 14:05:46 +0100126 list(APPEND armnnBackendsCommonUnitTests_sources
127 OptimizedNetworkTests.cpp
128 WorkloadDataValidation.cpp
129 )
130endif()
131
Jan Eilers146b2e12019-08-16 10:45:30 +0100132if(ARMCOMPUTENEON AND ARMCOMPUTECL)
133 list(APPEND armnnBackendsCommonUnitTests_sources
134 CompatibilityTests.cpp)
135endif()
136
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +0100137add_library(armnnBackendsCommonUnitTests OBJECT ${armnnBackendsCommonUnitTests_sources})
Aron Virginas-Tar29fe58b2018-10-26 15:37:23 +0100138target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
Aron Virginas-Tarc9cc8042018-11-01 16:15:57 +0000139target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
Nattapat Chaimanowong1216b582018-11-23 15:33:41 +0000140target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
Matteo Martincigh986c1862019-07-26 15:12:47 +0100141
142# Dummy shared object for testing.
143# This is a simple library used to test the utility functions that will be used to handle the shared objects.
144
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100145list(APPEND testSharedObject_sources
Matteo Martincigh986c1862019-07-26 15:12:47 +0100146 TestSharedObject.cpp
147 TestSharedObject.hpp
148)
149
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100150add_library_ex(TestSharedObject MODULE ${testSharedObject_sources})
151set_target_properties(TestSharedObject PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testSharedObject)
152file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/testSharedObject/libNoSharedObject.txt "This is not a shared object")
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100153
154# Dummy dynamic backends for testing.
155# Both a valid and a number of invalid dummy dynamic backends (covering various use cases) share the
156# same source code. The various test cases are put together in the code using compiler directives.
157
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100158list(APPEND testDynamicBackend_sources
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100159 TestDynamicBackend.cpp
160 TestDynamicBackend.hpp
161)
162
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100163add_library_ex(ValidTestDynamicBackend MODULE ${testDynamicBackend_sources})
Matteo Martincighe54aa062019-08-05 14:12:11 +0100164target_compile_definitions(ValidTestDynamicBackend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_1)
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100165target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
166target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
167target_link_libraries(ValidTestDynamicBackend armnn)
168set_target_properties(ValidTestDynamicBackend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100169
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100170add_library_ex(InvalidTestDynamicBackend1 MODULE ${testDynamicBackend_sources})
171target_compile_definitions(InvalidTestDynamicBackend1 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_1)
172target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
173target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
174target_link_libraries(InvalidTestDynamicBackend1 armnn)
175set_target_properties(InvalidTestDynamicBackend1 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100176
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100177add_library_ex(InvalidTestDynamicBackend2 MODULE ${testDynamicBackend_sources})
178target_compile_definitions(InvalidTestDynamicBackend2 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_2)
179target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
180target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
181target_link_libraries(InvalidTestDynamicBackend2 armnn)
182set_target_properties(InvalidTestDynamicBackend2 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100183
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100184add_library_ex(InvalidTestDynamicBackend3 MODULE ${testDynamicBackend_sources})
185target_compile_definitions(InvalidTestDynamicBackend3 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_3)
186target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
187target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
188target_link_libraries(InvalidTestDynamicBackend3 armnn)
189set_target_properties(InvalidTestDynamicBackend3 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100190
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100191add_library_ex(InvalidTestDynamicBackend4 MODULE ${testDynamicBackend_sources})
192target_compile_definitions(InvalidTestDynamicBackend4 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_4)
193target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
194target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
195target_link_libraries(InvalidTestDynamicBackend4 armnn)
196set_target_properties(InvalidTestDynamicBackend4 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100197
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100198add_library_ex(InvalidTestDynamicBackend5 MODULE ${testDynamicBackend_sources})
199target_compile_definitions(InvalidTestDynamicBackend5 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_5)
200target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
201target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
202target_link_libraries(InvalidTestDynamicBackend5 armnn)
203set_target_properties(InvalidTestDynamicBackend5 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(InvalidTestDynamicBackend6 MODULE ${testDynamicBackend_sources})
206target_compile_definitions(InvalidTestDynamicBackend6 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_6)
207target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
208target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
209target_link_libraries(InvalidTestDynamicBackend6 armnn)
210set_target_properties(InvalidTestDynamicBackend6 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighbc2e2102019-07-24 14:56:13 +0100211
Matteo Martincighd0dc7702019-08-01 17:09:03 +0100212add_library_ex(InvalidTestDynamicBackend7 MODULE ${testDynamicBackend_sources})
213target_compile_definitions(InvalidTestDynamicBackend7 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_7)
214target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
215target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
216target_link_libraries(InvalidTestDynamicBackend7 armnn)
217set_target_properties(InvalidTestDynamicBackend7 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend)
Matteo Martincighf0a0a9e2019-08-05 15:27:55 +0100218
219# Dummy files and directories for testing the dynamic backend file parsing.
220
221file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so "Test file for dynamic backend file parsing")
222file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1 "Test file for dynamic backend file parsing")
223file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1.2 "Test file for dynamic backend file parsing")
224file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1.2.3 "Test file for dynamic backend file parsing")
225file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.10.1.27 "Test file for dynamic backend file parsing")
226file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.10.1.33. "Test file for dynamic backend file parsing")
227file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.3.4..5 "Test file for dynamic backend file parsing")
228file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1,1.1 "Test file for dynamic backend file parsing")
229
230file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm123_GpuAcc_backend.so "Test file for dynamic backend file parsing")
231file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc456_backend.so "Test file for dynamic backend file parsing")
232file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm%Co_GpuAcc_backend.so "Test file for dynamic backend file parsing")
233file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_Gpu.Acc_backend.so "Test file for dynamic backend file parsing")
234
235file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/GpuAcc_backend.so "Test file for dynamic backend file parsing")
236file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/_GpuAcc_backend.so "Test file for dynamic backend file parsing")
237file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm__backend.so "Test file for dynamic backend file parsing")
238file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc.so "Test file for dynamic backend file parsing")
239file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/__backend.so "Test file for dynamic backend file parsing")
240file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/__.so "Test file for dynamic backend file parsing")
241
242file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend "Test file for dynamic backend file parsing")
243file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend_v1.2.so "Test file for dynamic backend file parsing")
244
245file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath2/Arm_CpuAcc_backend.so "Test file for dynamic backend file parsing")
246add_custom_target(link_dummy_dynamic_backend ALL
247 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so backendsTestPath2/Arm_CpuAcc_backend.so.1
248 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so.1 backendsTestPath2/Arm_CpuAcc_backend.so.1.2
249 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so.1.2 backendsTestPath2/Arm_CpuAcc_backend.so.1.2.3
250 COMMAND ${CMAKE_COMMAND} -E create_symlink nothing backendsTestPath2/Arm_no_backend.so)
251file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath2/Arm_GpuAcc_backend.so "Test file for dynamic backend file parsing")
252
253file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath3)
Matteo Martincighe54aa062019-08-05 14:12:11 +0100254
255# Dummy dynamic backends for testing.
256# These shared objects are used to test the creation of dynamic backend instances in ArmNN.
257
258add_library_ex(Arm_TestValid2_backend MODULE ${testDynamicBackend_sources})
259target_compile_definitions(Arm_TestValid2_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_2)
260target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
261target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
262target_link_libraries(Arm_TestValid2_backend armnn)
263set_target_properties(Arm_TestValid2_backend PROPERTIES PREFIX "")
264set_target_properties(Arm_TestValid2_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5)
265add_custom_command(TARGET Arm_TestValid2_backend POST_BUILD
266 COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:Arm_TestValid2_backend> ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
267
268add_library_ex(Arm_TestValid3_backend MODULE ${testDynamicBackend_sources})
269target_compile_definitions(Arm_TestValid3_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_3)
270target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
271target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
272target_link_libraries(Arm_TestValid3_backend armnn)
273set_target_properties(Arm_TestValid3_backend PROPERTIES PREFIX "")
274set_target_properties(Arm_TestValid3_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5)
275
276add_library_ex(Arm_TestInvalid8_backend MODULE ${testDynamicBackend_sources})
277target_compile_definitions(Arm_TestInvalid8_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_8)
278target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
279target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
280target_link_libraries(Arm_TestInvalid8_backend armnn)
281set_target_properties(Arm_TestInvalid8_backend PROPERTIES PREFIX "")
282set_target_properties(Arm_TestInvalid8_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5)
283
284add_library_ex(Arm_TestValid4_backend MODULE ${testDynamicBackend_sources})
285target_compile_definitions(Arm_TestValid4_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_4)
286target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
287target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
288target_link_libraries(Arm_TestValid4_backend armnn)
289set_target_properties(Arm_TestValid4_backend PROPERTIES PREFIX "")
290set_target_properties(Arm_TestValid4_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
291
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100292add_library_ex(Arm_TestValid5_backend MODULE ${testDynamicBackend_sources})
293target_compile_definitions(Arm_TestValid5_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_5)
294target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
295target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
296target_link_libraries(Arm_TestValid5_backend armnn)
297set_target_properties(Arm_TestValid5_backend PROPERTIES PREFIX "")
298set_target_properties(Arm_TestValid5_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
299
Matteo Martincighe54aa062019-08-05 14:12:11 +0100300add_library_ex(Arm_TestInvalid9_backend MODULE ${testDynamicBackend_sources})
301target_compile_definitions(Arm_TestInvalid9_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_9)
302target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
303target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
304target_link_libraries(Arm_TestInvalid9_backend armnn)
305set_target_properties(Arm_TestInvalid9_backend PROPERTIES PREFIX "")
306set_target_properties(Arm_TestInvalid9_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6)
307
Matteo Martincigh0c2b2892019-08-05 14:12:11 +0100308add_library_ex(Arm_TestInvalid10_backend MODULE ${testDynamicBackend_sources})
309target_compile_definitions(Arm_TestInvalid10_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_10)
310target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
311target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
312target_link_libraries(Arm_TestInvalid10_backend armnn)
313set_target_properties(Arm_TestInvalid10_backend PROPERTIES PREFIX "")
314set_target_properties(Arm_TestInvalid10_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath9)
315
316add_library_ex(Arm_TestInvalid11_backend MODULE ${testDynamicBackend_sources})
317target_compile_definitions(Arm_TestInvalid11_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_11)
318target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
319target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
320target_link_libraries(Arm_TestInvalid11_backend armnn)
321set_target_properties(Arm_TestInvalid11_backend PROPERTIES PREFIX "")
322set_target_properties(Arm_TestInvalid11_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath9)
323
Matteo Martincighe54aa062019-08-05 14:12:11 +0100324file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath7)