xref: /aosp_15_r20/external/armnn/src/armnnTestUtils/CMakeLists.txt (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1#
2# Copyright © 2021, 2023 Arm Ltd and Contributors. All rights reserved.
3# 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
11        ../../include/armnnTestUtils/MockBackend.hpp
12        ../../include/armnnTestUtils/MockMemoryManager.hpp
13        ../../include/armnnTestUtils/MockTensorHandle.hpp
14        ../../include/armnnTestUtils/PredicateResult.hpp
15        ../../include/armnnTestUtils/TensorCopyUtils.hpp
16        ../../include/armnnTestUtils/WorkloadTestUtils.hpp
17        ../../include/armnnTestUtils/TensorHelpers.hpp
18        ../../include/armnnTestUtils/Version.hpp
19        CreateWorkload.hpp
20        CommonTestUtils.cpp
21        CommonTestUtils.hpp
22        DataTypeUtils.hpp
23        GraphUtils.cpp
24        GraphUtils.hpp
25        MockBackend.cpp
26        MockMemoryManager.cpp
27        MockTensorHandle.cpp
28        MockTensorHandleFactory.cpp
29        TensorCopyUtils.cpp
30        TestUtils.cpp
31        TestUtils.hpp
32        )
33
34if(NOT BUILD_BARE_METAL AND NOT EXECUTE_NETWORK_STATIC)
35list(APPEND armnnTestUtils_sources
36        UnitTests.cpp
37        UnitTests.hpp
38        )
39endif()
40
41
42if(BUILD_BARE_METAL)
43    add_library_ex(armnnTestUtils STATIC ${armnnTestUtils_sources})
44elseif(EXECUTE_NETWORK_STATIC)
45    add_library_ex(armnnTestUtils OBJECT ${armnnTestUtils_sources})
46else()
47    add_library_ex(armnnTestUtils SHARED ${armnnTestUtils_sources})
48endif()
49
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
64target_link_libraries(armnnTestUtils armnn)
65
66install(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
72add_library(Armnn::armnnTestUtils ALIAS armnnTestUtils)
73
74set_target_properties(armnnTestUtils PROPERTIES VERSION ${ARMNN_TEST_UTILS_LIB_VERSION} SOVERSION ${ARMNN_TEST_UTILS_LIB_SOVERSION})
75