xref: /aosp_15_r20/external/armnn/src/armnnTestUtils/CMakeLists.txt (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1*89c4ff92SAndroid Build Coastguard Worker#
2*89c4ff92SAndroid Build Coastguard Worker# Copyright © 2021, 2023 Arm Ltd and Contributors. All rights reserved.
3*89c4ff92SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT
4*89c4ff92SAndroid Build Coastguard Worker#
5*89c4ff92SAndroid Build Coastguard Worker
6*89c4ff92SAndroid Build Coastguard Worker# armnnTestUtils library provides useful test functions for backend developers.
7*89c4ff92SAndroid Build Coastguard Workerset(armnnTestUtils_sources)
8*89c4ff92SAndroid Build Coastguard Workerlist(APPEND armnnTestUtils_sources
9*89c4ff92SAndroid Build Coastguard Worker        ../../include/armnnTestUtils/DataLayoutUtils.hpp
10*89c4ff92SAndroid Build Coastguard Worker        ../../include/armnnTestUtils/LayerTestResult.hpp
11*89c4ff92SAndroid Build Coastguard Worker        ../../include/armnnTestUtils/MockBackend.hpp
12*89c4ff92SAndroid Build Coastguard Worker        ../../include/armnnTestUtils/MockMemoryManager.hpp
13*89c4ff92SAndroid Build Coastguard Worker        ../../include/armnnTestUtils/MockTensorHandle.hpp
14*89c4ff92SAndroid Build Coastguard Worker        ../../include/armnnTestUtils/PredicateResult.hpp
15*89c4ff92SAndroid Build Coastguard Worker        ../../include/armnnTestUtils/TensorCopyUtils.hpp
16*89c4ff92SAndroid Build Coastguard Worker        ../../include/armnnTestUtils/WorkloadTestUtils.hpp
17*89c4ff92SAndroid Build Coastguard Worker        ../../include/armnnTestUtils/TensorHelpers.hpp
18*89c4ff92SAndroid Build Coastguard Worker        ../../include/armnnTestUtils/Version.hpp
19*89c4ff92SAndroid Build Coastguard Worker        CreateWorkload.hpp
20*89c4ff92SAndroid Build Coastguard Worker        CommonTestUtils.cpp
21*89c4ff92SAndroid Build Coastguard Worker        CommonTestUtils.hpp
22*89c4ff92SAndroid Build Coastguard Worker        DataTypeUtils.hpp
23*89c4ff92SAndroid Build Coastguard Worker        GraphUtils.cpp
24*89c4ff92SAndroid Build Coastguard Worker        GraphUtils.hpp
25*89c4ff92SAndroid Build Coastguard Worker        MockBackend.cpp
26*89c4ff92SAndroid Build Coastguard Worker        MockMemoryManager.cpp
27*89c4ff92SAndroid Build Coastguard Worker        MockTensorHandle.cpp
28*89c4ff92SAndroid Build Coastguard Worker        MockTensorHandleFactory.cpp
29*89c4ff92SAndroid Build Coastguard Worker        TensorCopyUtils.cpp
30*89c4ff92SAndroid Build Coastguard Worker        TestUtils.cpp
31*89c4ff92SAndroid Build Coastguard Worker        TestUtils.hpp
32*89c4ff92SAndroid Build Coastguard Worker        )
33*89c4ff92SAndroid Build Coastguard Worker
34*89c4ff92SAndroid Build Coastguard Workerif(NOT BUILD_BARE_METAL AND NOT EXECUTE_NETWORK_STATIC)
35*89c4ff92SAndroid Build Coastguard Workerlist(APPEND armnnTestUtils_sources
36*89c4ff92SAndroid Build Coastguard Worker        UnitTests.cpp
37*89c4ff92SAndroid Build Coastguard Worker        UnitTests.hpp
38*89c4ff92SAndroid Build Coastguard Worker        )
39*89c4ff92SAndroid Build Coastguard Workerendif()
40*89c4ff92SAndroid Build Coastguard Worker
41*89c4ff92SAndroid Build Coastguard Worker
42*89c4ff92SAndroid Build Coastguard Workerif(BUILD_BARE_METAL)
43*89c4ff92SAndroid Build Coastguard Worker    add_library_ex(armnnTestUtils STATIC ${armnnTestUtils_sources})
44*89c4ff92SAndroid Build Coastguard Workerelseif(EXECUTE_NETWORK_STATIC)
45*89c4ff92SAndroid Build Coastguard Worker    add_library_ex(armnnTestUtils OBJECT ${armnnTestUtils_sources})
46*89c4ff92SAndroid Build Coastguard Workerelse()
47*89c4ff92SAndroid Build Coastguard Worker    add_library_ex(armnnTestUtils SHARED ${armnnTestUtils_sources})
48*89c4ff92SAndroid Build Coastguard Workerendif()
49*89c4ff92SAndroid Build Coastguard Worker
50*89c4ff92SAndroid Build Coastguard Workerset_target_properties(armnnTestUtils PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
51*89c4ff92SAndroid Build Coastguard Worker
52*89c4ff92SAndroid Build Coastguard Workertarget_include_directories(armnnTestUtils
53*89c4ff92SAndroid Build Coastguard Worker        PUBLIC
54*89c4ff92SAndroid Build Coastguard Worker        $<INSTALL_INTERFACE:include>
55*89c4ff92SAndroid Build Coastguard Worker        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
56*89c4ff92SAndroid Build Coastguard Worker        PRIVATE
57*89c4ff92SAndroid Build Coastguard Worker        ${CMAKE_CURRENT_SOURCE_DIR}/src)
58*89c4ff92SAndroid Build Coastguard Worker
59*89c4ff92SAndroid Build Coastguard Workertarget_include_directories(armnnTestUtils PRIVATE ../armnn)
60*89c4ff92SAndroid Build Coastguard Workertarget_include_directories(armnnTestUtils PRIVATE ../armnnUtils)
61*89c4ff92SAndroid Build Coastguard Workertarget_include_directories(armnnTestUtils PRIVATE ../backends)
62*89c4ff92SAndroid Build Coastguard Workertarget_include_directories(armnnTestUtils PRIVATE ../profiling)
63*89c4ff92SAndroid Build Coastguard Worker
64*89c4ff92SAndroid Build Coastguard Workertarget_link_libraries(armnnTestUtils armnn)
65*89c4ff92SAndroid Build Coastguard Worker
66*89c4ff92SAndroid Build Coastguard Workerinstall(TARGETS armnnTestUtils
67*89c4ff92SAndroid Build Coastguard Worker        EXPORT  armnn-targets
68*89c4ff92SAndroid Build Coastguard Worker        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
69*89c4ff92SAndroid Build Coastguard Worker        ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
70*89c4ff92SAndroid Build Coastguard Worker        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
71*89c4ff92SAndroid Build Coastguard Worker
72*89c4ff92SAndroid Build Coastguard Workeradd_library(Armnn::armnnTestUtils ALIAS armnnTestUtils)
73*89c4ff92SAndroid Build Coastguard Worker
74*89c4ff92SAndroid Build Coastguard Workerset_target_properties(armnnTestUtils PROPERTIES VERSION ${ARMNN_TEST_UTILS_LIB_VERSION} SOVERSION ${ARMNN_TEST_UTILS_LIB_SOVERSION})
75