blob: a4333cf306deb4306ae0d30736e712e63712612c [file] [log] [blame]
Sadik Armagana097d2a2021-11-24 15:47:28 +00001#
Ryan OSheab5540542022-07-06 09:52:52 +01002# Copyright © 2021, 2023 Arm Ltd and Contributors. All rights reserved.
Sadik Armagana097d2a2021-11-24 15:47:28 +00003# SPDX-License-Identifier: MIT
4#
5
6# armnnTestUtils library provides useful test functions for backend developers.
7set(armnnTestUtils_sources)
8list(APPEND armnnTestUtils_sources
9 ../../include/armnnTestUtils/DataLayoutUtils.hpp
10 ../../include/armnnTestUtils/LayerTestResult.hpp
Colm Donelan17948b52022-02-01 23:37:04 +000011 ../../include/armnnTestUtils/MockBackend.hpp
12 ../../include/armnnTestUtils/MockMemoryManager.hpp
13 ../../include/armnnTestUtils/MockTensorHandle.hpp
Sadik Armagana097d2a2021-11-24 15:47:28 +000014 ../../include/armnnTestUtils/PredicateResult.hpp
15 ../../include/armnnTestUtils/TensorCopyUtils.hpp
Colm Donelan0c479742021-12-10 12:43:54 +000016 ../../include/armnnTestUtils/WorkloadTestUtils.hpp
Colm Donelanc42a9872022-02-02 16:35:09 +000017 ../../include/armnnTestUtils/TensorHelpers.hpp
Teresa Charlin2b679db2022-02-16 12:57:19 +000018 ../../include/armnnTestUtils/Version.hpp
Sadik Armagana097d2a2021-11-24 15:47:28 +000019 CreateWorkload.hpp
20 CommonTestUtils.cpp
21 CommonTestUtils.hpp
22 DataTypeUtils.hpp
23 GraphUtils.cpp
24 GraphUtils.hpp
Colm Donelan17948b52022-02-01 23:37:04 +000025 MockBackend.cpp
26 MockMemoryManager.cpp
27 MockTensorHandle.cpp
Colm Donelan17948b52022-02-01 23:37:04 +000028 MockTensorHandleFactory.cpp
Sadik Armagana097d2a2021-11-24 15:47:28 +000029 TensorCopyUtils.cpp
30 TestUtils.cpp
31 TestUtils.hpp
Jim Flynn870b96c2022-03-25 21:24:56 +000032 )
33
Ryan OSheab5540542022-07-06 09:52:52 +010034if(NOT BUILD_BARE_METAL AND NOT EXECUTE_NETWORK_STATIC)
Jim Flynn870b96c2022-03-25 21:24:56 +000035list(APPEND armnnTestUtils_sources
Sadik Armagana097d2a2021-11-24 15:47:28 +000036 UnitTests.cpp
37 UnitTests.hpp
Sadik Armagana097d2a2021-11-24 15:47:28 +000038 )
Jim Flynn870b96c2022-03-25 21:24:56 +000039endif()
Sadik Armagana097d2a2021-11-24 15:47:28 +000040
Jim Flynn870b96c2022-03-25 21:24:56 +000041
42if(BUILD_BARE_METAL)
43 add_library_ex(armnnTestUtils STATIC ${armnnTestUtils_sources})
Ryan OSheab5540542022-07-06 09:52:52 +010044elseif(EXECUTE_NETWORK_STATIC)
45 add_library_ex(armnnTestUtils OBJECT ${armnnTestUtils_sources})
Jim Flynn870b96c2022-03-25 21:24:56 +000046else()
47 add_library_ex(armnnTestUtils SHARED ${armnnTestUtils_sources})
48endif()
Sadik Armagana097d2a2021-11-24 15:47:28 +000049
50set_target_properties(armnnTestUtils PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
51
52target_include_directories(armnnTestUtils
53 PUBLIC
54 $<INSTALL_INTERFACE:include>
55 $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
56 PRIVATE
57 ${CMAKE_CURRENT_SOURCE_DIR}/src)
58
59target_include_directories(armnnTestUtils PRIVATE ../armnn)
60target_include_directories(armnnTestUtils PRIVATE ../armnnUtils)
61target_include_directories(armnnTestUtils PRIVATE ../backends)
62target_include_directories(armnnTestUtils PRIVATE ../profiling)
63
Rob Hughesfcd598d2021-12-21 16:41:09 +000064target_link_libraries(armnnTestUtils armnn)
65
Sadik Armagana097d2a2021-11-24 15:47:28 +000066install(TARGETS armnnTestUtils
67 EXPORT armnn-targets
68 LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
69 ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
70 RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
71
Matthew Bentham79bb6532022-02-11 08:29:42 +000072add_library(Armnn::armnnTestUtils ALIAS armnnTestUtils)
Teresa Charlin2b679db2022-02-16 12:57:19 +000073
Jim Flynn870b96c2022-03-25 21:24:56 +000074set_target_properties(armnnTestUtils PROPERTIES VERSION ${ARMNN_TEST_UTILS_LIB_VERSION} SOVERSION ${ARMNN_TEST_UTILS_LIB_SOVERSION})