xref: /aosp_15_r20/external/armnn/src/backends/neon/test/CMakeLists.txt (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1#
2# Copyright © 2017 Arm Ltd. All rights reserved.
3# SPDX-License-Identifier: MIT
4#
5
6list(APPEND armnnNeonBackendUnitTests_sources
7    NeonBackendTests.cpp
8    NeonCreateWorkloadTests.cpp
9    NeonEndToEndTests.cpp
10    NeonJsonPrinterTests.cpp
11    NeonLayerSupportTests.cpp
12    NeonLayerTests.cpp
13    NeonOptimizedNetworkTests.cpp
14    NeonRuntimeTests.cpp
15    NeonTensorHandleTests.cpp
16    NeonTimerTest.cpp
17    NeonWorkloadFactoryHelper.hpp
18)
19
20# There's a known Android NDK bug which causes a subset of NeonLayerTests to
21# fail. We'll exclude these tests in NeonLayerTests_NDK_Bug.cpp if we're doing
22# a debug build and NDK is less than r21.
23# https://github.com/android/ndk/issues/1135
24
25# Default to always including these tests.
26set(INCLUDE_NDK_BUG_TESTS "ON")
27# Reconsider if we in a debug build.
28string( TOLOWER ${CMAKE_BUILD_TYPE} BUILD_TYPE_LOWERCASE )
29if ( NOT BUILD_TYPE_LOWERCASE STREQUAL "release" )
30    # And NDK_VERSION has been set.
31    if ( DEFINED NDK_VERSION )
32        # And the version is less than r21.
33        if ( ${NDK_VERSION} STRLESS "r21" )
34            set(INCLUDE_NDK_BUG_TESTS "OFF")
35        endif()
36    endif()
37endif()
38
39if ( INCLUDE_NDK_BUG_TESTS STREQUAL "ON" )
40   list(APPEND armnnNeonBackendUnitTests_sources
41        NeonLayerTests_NDK_Bug.cpp
42        )
43else()
44
45endif()
46
47if (ARMNNREF)
48    list(APPEND armnnNeonBackendUnitTests_sources
49        NeonFallbackTests.cpp
50        NeonMemCopyTests.cpp
51        )
52endif()
53
54add_library(armnnNeonBackendUnitTests OBJECT ${armnnNeonBackendUnitTests_sources})
55target_include_directories(armnnNeonBackendUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
56target_include_directories(armnnNeonBackendUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
57target_include_directories(armnnNeonBackendUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnTestUtils)
58target_include_directories(armnnNeonBackendUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
59target_include_directories(armnnNeonBackendUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
60target_include_directories(armnnNeonBackendUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
61target_include_directories(armnnNeonBackendUnitTests PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include)
62