1# 2# Copyright © 2017-2023 Arm Ltd and Contributors. All rights reserved. 3# SPDX-License-Identifier: MIT 4# 5 6list(APPEND armnnBackendsCommonUnitTests_sources 7 ActivationFixture.hpp 8 ActivationEndToEndTestImpl.hpp 9 ArgMinMaxEndToEndTestImpl.hpp 10 BackendIdTests.cpp 11 BackendProfilingTests.cpp 12 BackendRegistryTests.cpp 13 ChannelShuffleEndToEndTestImpl.hpp 14 ComparisonEndToEndTestImpl.hpp 15 CompatibilityTests.cpp 16 ConcatEndToEndTestImpl.hpp 17 Convolution2dEndToEndTestImpl.hpp 18 Convolution3dEndToEndTestImpl.hpp 19 DefaultAsyncExecuteTest.cpp 20 DepthToSpaceEndToEndTestImpl.hpp 21 DepthwiseConvolution2dEndToEndTests.hpp 22 DequantizeEndToEndTestImpl.hpp 23 DetectionPostProcessEndToEndTestImpl.hpp 24 DynamicBackendTests.cpp 25 DynamicBackendTests.hpp 26 ElementwiseBinaryEndToEndTestImpl.hpp 27 ElementwiseUnaryEndToEndTestImpl.hpp 28 EndToEndTestImpl.hpp 29 FillEndToEndTestImpl.hpp 30 FullyConnectedEndToEndTestImpl.hpp 31 GatherEndToEndTestImpl.hpp 32 GatherNdEndToEndTestImpl.hpp 33 InstanceNormalizationEndToEndTestImpl.cpp 34 InstanceNormalizationEndToEndTestImpl.hpp 35 IsLayerSupportedTestImpl.hpp 36 JsonPrinterTestImpl.cpp 37 JsonPrinterTestImpl.hpp 38 LayerReleaseConstantDataTest.cpp 39 LayerTests.hpp 40 LogSoftmaxEndToEndTestImpl.cpp 41 LogSoftmaxEndToEndTestImpl.hpp 42 MemoryManagerTests.cpp 43 MockBackendId.hpp 44 MultiplicationEndToEndTestImpl.hpp 45 OptimizeSubgraphViewTests.cpp 46 OptimizationViewsTests.cpp 47 PreluEndToEndTestImpl.hpp 48 QLstmEndToEndTestImpl.cpp 49 QLstmEndToEndTestImpl.hpp 50 QuantizedLstmEndToEndTestImpl.cpp 51 QuantizedLstmEndToEndTestImpl.hpp 52 RankEndToEndTestImpl.hpp 53 ReduceEndToEndTestImpl.hpp 54 ReshapeEndToEndTestImpl.hpp 55 ResizeEndToEndTestImpl.hpp 56 RuntimeTestImpl.hpp 57 SliceEndToEndTestImpl.hpp 58 SpaceToDepthEndToEndTestImpl.cpp 59 SpaceToDepthEndToEndTestImpl.hpp 60 SplitterEndToEndTestImpl.hpp 61 StridedSliceAsyncEndToEndTest.hpp 62 SubtractionEndToEndTestImpl.hpp 63 TransposeEndToEndTestImpl.hpp 64 TensorCopyUtils.hpp 65 WorkloadFactoryHelper.hpp 66 layerTests/AbsTestImpl.cpp 67 layerTests/AbsTestImpl.hpp 68 layerTests/ActivationTestImpl.cpp 69 layerTests/ActivationTestImpl.hpp 70 layerTests/AdditionTestImpl.cpp 71 layerTests/AdditionTestImpl.hpp 72 layerTests/ArgMinMaxTestImpl.cpp 73 layerTests/ArgMinMaxTestImpl.hpp 74 layerTests/BatchMatMulTestImpl.cpp 75 layerTests/BatchMatMulTestImpl.hpp 76 layerTests/BatchNormalizationTestImpl.cpp 77 layerTests/BatchNormalizationTestImpl.hpp 78 layerTests/BatchToSpaceNdTestImpl.hpp 79 layerTests/CastTestImpl.cpp 80 layerTests/CastTestImpl.hpp 81 layerTests/ChannelShuffleTestImpl.cpp 82 layerTests/ChannelShuffleTestImpl.hpp 83 layerTests/ComparisonTestImpl.cpp 84 layerTests/ComparisonTestImpl.hpp 85 layerTests/ConcatTestImpl.cpp 86 layerTests/ConcatTestImpl.hpp 87 layerTests/ConstantTestImpl.cpp 88 layerTests/ConstantTestImpl.hpp 89 layerTests/Conv2dTestImpl.cpp 90 layerTests/Conv2dTestImpl.hpp 91 layerTests/Conv3dTestImpl.cpp 92 layerTests/Conv3dTestImpl.hpp 93 layerTests/ConvertFp16ToFp32TestImpl.cpp 94 layerTests/ConvertFp16ToFp32TestImpl.hpp 95 layerTests/ConvertFp32ToFp16TestImpl.cpp 96 layerTests/ConvertFp32ToFp16TestImpl.hpp 97 layerTests/DebugTestImpl.cpp 98 layerTests/DebugTestImpl.hpp 99 layerTests/DepthToSpaceTestImpl.cpp 100 layerTests/DepthToSpaceTestImpl.hpp 101 layerTests/DequantizeTestImpl.cpp 102 layerTests/DequantizeTestImpl.hpp 103 layerTests/DetectionPostProcessTestImpl.hpp 104 layerTests/DivisionTestImpl.cpp 105 layerTests/DivisionTestImpl.hpp 106 layerTests/ElementwiseTestImpl.hpp 107 layerTests/ElementwiseUnaryTestImpl.cpp 108 layerTests/ElementwiseUnaryTestImpl.hpp 109 layerTests/ExpTestImpl.cpp 110 layerTests/ExpTestImpl.hpp 111 layerTests/FakeQuantizationTestImpl.cpp 112 layerTests/FakeQuantizationTestImpl.hpp 113 layerTests/FillTestImpl.cpp 114 layerTests/FillTestImpl.hpp 115 layerTests/FloorTestImpl.cpp 116 layerTests/FloorTestImpl.hpp 117 layerTests/FullyConnectedTestImpl.cpp 118 layerTests/FullyConnectedTestImpl.hpp 119 layerTests/GatherNdTestImpl.cpp 120 layerTests/GatherNdTestImpl.hpp 121 layerTests/GatherTestImpl.cpp 122 layerTests/GatherTestImpl.hpp 123 layerTests/InstanceNormalizationTestImpl.cpp 124 layerTests/InstanceNormalizationTestImpl.hpp 125 layerTests/L2NormalizationTestImpl.cpp 126 layerTests/L2NormalizationTestImpl.hpp 127 layerTests/LogTestImpl.cpp 128 layerTests/LogTestImpl.hpp 129 layerTests/LogicalTestImpl.cpp 130 layerTests/LogicalTestImpl.hpp 131 layerTests/LogSoftmaxTestImpl.cpp 132 layerTests/LogSoftmaxTestImpl.hpp 133 layerTests/LstmTestImpl.cpp 134 layerTests/LstmTestImpl.hpp 135 layerTests/MaximumTestImpl.cpp 136 layerTests/MaximumTestImpl.hpp 137 layerTests/MeanTestImpl.hpp 138 layerTests/MinimumTestImpl.cpp 139 layerTests/MinimumTestImpl.hpp 140 layerTests/MirrorPadTestImpl.cpp 141 layerTests/MirrorPadTestImpl.hpp 142 layerTests/MultiplicationTestImpl.cpp 143 layerTests/MultiplicationTestImpl.hpp 144 layerTests/NegTestImpl.cpp 145 layerTests/NegTestImpl.hpp 146 layerTests/NormalizationTestImpl.cpp 147 layerTests/NormalizationTestImpl.hpp 148 layerTests/PadTestImpl.cpp 149 layerTests/PadTestImpl.hpp 150 layerTests/PermuteTestImpl.hpp 151 layerTests/Pooling2dTestImpl.cpp 152 layerTests/Pooling2dTestImpl.hpp 153 layerTests/Pooling3dTestImpl.cpp 154 layerTests/Pooling3dTestImpl.hpp 155 layerTests/PreluTestImpl.hpp 156 layerTests/QuantizeTestImpl.cpp 157 layerTests/QuantizeTestImpl.hpp 158 layerTests/RankTestImpl.cpp 159 layerTests/RankTestImpl.hpp 160 layerTests/ReductionTestImpl.cpp 161 layerTests/ReductionTestImpl.hpp 162 layerTests/ReduceProdTestImpl.cpp 163 layerTests/ReduceProdTestImpl.hpp 164 layerTests/ReduceSumTestImpl.cpp 165 layerTests/ReduceSumTestImpl.hpp 166 layerTests/ReshapeTestImpl.cpp 167 layerTests/ReshapeTestImpl.hpp 168 layerTests/ResizeTestImpl.cpp 169 layerTests/ResizeTestImpl.hpp 170 layerTests/RsqrtTestImpl.cpp 171 layerTests/RsqrtTestImpl.hpp 172 layerTests/SinTestImpl.cpp 173 layerTests/SinTestImpl.hpp 174 layerTests/ShapeTestImpl.cpp 175 layerTests/ShapeTestImpl.cpp 176 layerTests/SliceTestImpl.cpp 177 layerTests/SliceTestImpl.hpp 178 layerTests/SoftmaxTestImpl.cpp 179 layerTests/SoftmaxTestImpl.hpp 180 layerTests/SpaceToBatchNdTestImpl.cpp 181 layerTests/SpaceToBatchNdTestImpl.hpp 182 layerTests/SpaceToDepthTestImpl.cpp 183 layerTests/SpaceToDepthTestImpl.hpp 184 layerTests/SplitterTestImpl.cpp 185 layerTests/SplitterTestImpl.hpp 186 layerTests/SqrtTestImpl.cpp 187 layerTests/SqrtTestImpl.hpp 188 layerTests/StackTestImpl.cpp 189 layerTests/StackTestImpl.hpp 190 layerTests/StridedSliceTestImpl.cpp 191 layerTests/StridedSliceTestImpl.hpp 192 layerTests/SubtractionTestImpl.cpp 193 layerTests/SubtractionTestImpl.hpp 194 layerTests/TransposeConvolution2dTestImpl.cpp 195 layerTests/TransposeConvolution2dTestImpl.hpp 196 layerTests/UnidirectionalSequenceLstmTestImpl.cpp 197 layerTests/UnidirectionalSequenceLstmTestImpl.hpp 198) 199 200if(ARMCOMPUTENEON OR ARMNNREF) 201 list(APPEND armnnBackendsCommonUnitTests_sources 202 CustomMemoryOptimizerStrategyTests.cpp 203 ) 204endif() 205 206if (ARMNNREF) 207 list(APPEND armnnBackendsCommonUnitTests_sources 208 mockBackend/MockImportBackend.cpp 209 mockBackend/MockImportBackend.hpp 210 mockBackend/MockImportLayerSupport.hpp 211 OptimizedNetworkTests.cpp 212 WorkloadDataValidation.cpp 213 ) 214endif() 215 216add_library(armnnBackendsCommonUnitTests OBJECT ${armnnBackendsCommonUnitTests_sources}) 217target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 218target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils) 219target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnTestUtils) 220target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 221target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 222target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 223target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 224target_include_directories(armnnBackendsCommonUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/third-party) 225 226# Dummy shared object for testing. 227# This is a simple library used to test the utility functions that will be used to handle the shared objects. 228 229list(APPEND testSharedObject_sources 230 TestSharedObject.cpp 231 TestSharedObject.hpp 232) 233 234add_library_ex(TestSharedObject MODULE ${testSharedObject_sources}) 235set_target_properties(TestSharedObject PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testSharedObject) 236file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/testSharedObject/libNoSharedObject.txt "This is not a shared object") 237 238# Dummy dynamic backends for testing. 239# Both a valid and a number of invalid dummy dynamic backends (covering various use cases) share the 240# same source code. The various test cases are put together in the code using compiler directives. 241 242list(APPEND testDynamicBackend_sources 243 TestDynamicBackend.cpp 244 TestDynamicBackend.hpp 245) 246 247add_library_ex(ValidTestDynamicBackend MODULE ${testDynamicBackend_sources}) 248target_compile_definitions(ValidTestDynamicBackend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_1) 249target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 250target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 251target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 252target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 253target_include_directories(ValidTestDynamicBackend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 254target_link_libraries(ValidTestDynamicBackend armnn) 255set_target_properties(ValidTestDynamicBackend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend) 256 257add_library_ex(InvalidTestDynamicBackend1 MODULE ${testDynamicBackend_sources}) 258target_compile_definitions(InvalidTestDynamicBackend1 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_1) 259target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 260target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 261target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 262target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 263target_include_directories(InvalidTestDynamicBackend1 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 264target_link_libraries(InvalidTestDynamicBackend1 armnn) 265set_target_properties(InvalidTestDynamicBackend1 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend) 266 267add_library_ex(InvalidTestDynamicBackend2 MODULE ${testDynamicBackend_sources}) 268target_compile_definitions(InvalidTestDynamicBackend2 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_2) 269target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 270target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 271target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 272target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 273target_include_directories(InvalidTestDynamicBackend2 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 274target_link_libraries(InvalidTestDynamicBackend2 armnn) 275set_target_properties(InvalidTestDynamicBackend2 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend) 276 277add_library_ex(InvalidTestDynamicBackend3 MODULE ${testDynamicBackend_sources}) 278target_compile_definitions(InvalidTestDynamicBackend3 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_3) 279target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 280target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 281target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 282target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 283target_include_directories(InvalidTestDynamicBackend3 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 284target_link_libraries(InvalidTestDynamicBackend3 armnn) 285set_target_properties(InvalidTestDynamicBackend3 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend) 286 287add_library_ex(InvalidTestDynamicBackend4 MODULE ${testDynamicBackend_sources}) 288target_compile_definitions(InvalidTestDynamicBackend4 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_4) 289target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 290target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 291target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 292target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 293target_include_directories(InvalidTestDynamicBackend4 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 294target_link_libraries(InvalidTestDynamicBackend4 armnn) 295set_target_properties(InvalidTestDynamicBackend4 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend) 296 297add_library_ex(InvalidTestDynamicBackend5 MODULE ${testDynamicBackend_sources}) 298target_compile_definitions(InvalidTestDynamicBackend5 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_5) 299target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 300target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 301target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 302target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 303target_include_directories(InvalidTestDynamicBackend5 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 304target_link_libraries(InvalidTestDynamicBackend5 armnn) 305set_target_properties(InvalidTestDynamicBackend5 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend) 306 307add_library_ex(InvalidTestDynamicBackend6 MODULE ${testDynamicBackend_sources}) 308target_compile_definitions(InvalidTestDynamicBackend6 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_6) 309target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 310target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 311target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 312target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 313target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 314target_link_libraries(InvalidTestDynamicBackend6 armnn) 315set_target_properties(InvalidTestDynamicBackend6 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend) 316 317add_library_ex(InvalidTestDynamicBackend7 MODULE ${testDynamicBackend_sources}) 318target_compile_definitions(InvalidTestDynamicBackend7 PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_7) 319target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 320target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 321target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 322target_include_directories(InvalidTestDynamicBackend7 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 323target_include_directories(InvalidTestDynamicBackend6 PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 324target_link_libraries(InvalidTestDynamicBackend7 armnn) 325set_target_properties(InvalidTestDynamicBackend7 PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/testDynamicBackend) 326 327# Dummy files and directories for testing the dynamic backend file parsing. 328 329file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so "Test file for dynamic backend file parsing") 330file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1 "Test file for dynamic backend file parsing") 331file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1.2 "Test file for dynamic backend file parsing") 332file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1.2.3 "Test file for dynamic backend file parsing") 333file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.10.1.27 "Test file for dynamic backend file parsing") 334file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.10.1.33. "Test file for dynamic backend file parsing") 335file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.3.4..5 "Test file for dynamic backend file parsing") 336file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend.so.1,1.1 "Test file for dynamic backend file parsing") 337 338file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm123_GpuAcc_backend.so "Test file for dynamic backend file parsing") 339file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc456_backend.so "Test file for dynamic backend file parsing") 340file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm%Co_GpuAcc_backend.so "Test file for dynamic backend file parsing") 341file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_Gpu.Acc_backend.so "Test file for dynamic backend file parsing") 342 343file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/GpuAcc_backend.so "Test file for dynamic backend file parsing") 344file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/_GpuAcc_backend.so "Test file for dynamic backend file parsing") 345file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm__backend.so "Test file for dynamic backend file parsing") 346file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc.so "Test file for dynamic backend file parsing") 347file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/__backend.so "Test file for dynamic backend file parsing") 348file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/__.so "Test file for dynamic backend file parsing") 349 350file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend "Test file for dynamic backend file parsing") 351file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath1/Arm_GpuAcc_backend_v1.2.so "Test file for dynamic backend file parsing") 352 353file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath2/Arm_CpuAcc_backend.so "Test file for dynamic backend file parsing") 354add_custom_target(link_dummy_dynamic_backend ALL 355 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so backendsTestPath2/Arm_CpuAcc_backend.so.1 356 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so.1 backendsTestPath2/Arm_CpuAcc_backend.so.1.2 357 COMMAND ${CMAKE_COMMAND} -E create_symlink Arm_CpuAcc_backend.so.1.2 backendsTestPath2/Arm_CpuAcc_backend.so.1.2.3 358 COMMAND ${CMAKE_COMMAND} -E create_symlink nothing backendsTestPath2/Arm_no_backend.so) 359file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath2/Arm_GpuAcc_backend.so "Test file for dynamic backend file parsing") 360 361file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath3) 362 363# Dummy dynamic backends for testing. 364# These shared objects are used to test the creation of dynamic backend instances in ArmNN. 365 366add_library_ex(Arm_TestValid2_backend MODULE ${testDynamicBackend_sources}) 367target_compile_definitions(Arm_TestValid2_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_2) 368target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 369target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 370target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 371target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 372target_include_directories(Arm_TestValid2_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 373target_link_libraries(Arm_TestValid2_backend armnn) 374set_target_properties(Arm_TestValid2_backend PROPERTIES PREFIX "") 375set_target_properties(Arm_TestValid2_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5) 376add_custom_command(TARGET Arm_TestValid2_backend POST_BUILD 377 COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:Arm_TestValid2_backend> ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6) 378 379add_library_ex(Arm_TestValid3_backend MODULE ${testDynamicBackend_sources}) 380target_compile_definitions(Arm_TestValid3_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_3) 381target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 382target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 383target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 384target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 385target_include_directories(Arm_TestValid3_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 386target_link_libraries(Arm_TestValid3_backend armnn) 387set_target_properties(Arm_TestValid3_backend PROPERTIES PREFIX "") 388set_target_properties(Arm_TestValid3_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5) 389 390add_library_ex(Arm_TestInvalid8_backend MODULE ${testDynamicBackend_sources}) 391target_compile_definitions(Arm_TestInvalid8_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_8) 392target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 393target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 394target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 395target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 396target_include_directories(Arm_TestInvalid8_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 397target_link_libraries(Arm_TestInvalid8_backend armnn) 398set_target_properties(Arm_TestInvalid8_backend PROPERTIES PREFIX "") 399set_target_properties(Arm_TestInvalid8_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath5) 400 401add_library_ex(Arm_TestValid4_backend MODULE ${testDynamicBackend_sources}) 402target_compile_definitions(Arm_TestValid4_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_4) 403target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 404target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 405target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 406target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 407target_include_directories(Arm_TestValid4_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 408target_link_libraries(Arm_TestValid4_backend armnn) 409set_target_properties(Arm_TestValid4_backend PROPERTIES PREFIX "") 410set_target_properties(Arm_TestValid4_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6) 411 412add_library_ex(Arm_TestValid5_backend MODULE ${testDynamicBackend_sources}) 413target_compile_definitions(Arm_TestValid5_backend PRIVATE -DVALID_TEST_DYNAMIC_BACKEND_5) 414target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 415target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 416target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 417target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 418target_include_directories(Arm_TestValid5_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 419target_link_libraries(Arm_TestValid5_backend armnn) 420set_target_properties(Arm_TestValid5_backend PROPERTIES PREFIX "") 421set_target_properties(Arm_TestValid5_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6) 422 423add_library_ex(Arm_TestInvalid9_backend MODULE ${testDynamicBackend_sources}) 424target_compile_definitions(Arm_TestInvalid9_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_9) 425target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 426target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 427target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 428target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 429target_include_directories(Arm_TestInvalid9_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 430target_link_libraries(Arm_TestInvalid9_backend armnn) 431set_target_properties(Arm_TestInvalid9_backend PROPERTIES PREFIX "") 432set_target_properties(Arm_TestInvalid9_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath6) 433 434add_library_ex(Arm_TestInvalid10_backend MODULE ${testDynamicBackend_sources}) 435target_compile_definitions(Arm_TestInvalid10_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_10) 436target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 437target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 438target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 439target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 440target_include_directories(Arm_TestInvalid10_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 441target_link_libraries(Arm_TestInvalid10_backend armnn) 442set_target_properties(Arm_TestInvalid10_backend PROPERTIES PREFIX "") 443set_target_properties(Arm_TestInvalid10_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath9) 444 445add_library_ex(Arm_TestInvalid11_backend MODULE ${testDynamicBackend_sources}) 446target_compile_definitions(Arm_TestInvalid11_backend PRIVATE -DINVALID_TEST_DYNAMIC_BACKEND_11) 447target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn) 448target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends) 449target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling) 450target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include) 451target_include_directories(Arm_TestInvalid11_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include) 452target_link_libraries(Arm_TestInvalid11_backend armnn) 453set_target_properties(Arm_TestInvalid11_backend PROPERTIES PREFIX "") 454set_target_properties(Arm_TestInvalid11_backend PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath9) 455 456file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/backendsTestPath7) 457