xref: /aosp_15_r20/external/armnn/src/backends/dynamic/reference/CMakeLists.txt (revision 89c4ff92f2867872bb9e2354d150bf0c8c502810)
1#
2# Copyright © 2017, 2023 Arm Ltd. All rights reserved.
3# SPDX-License-Identifier: MIT
4#
5
6if((NOT BUILD_BARE_METAL) AND (NOT EXECUTE_NETWORK_STATIC))
7
8# File needed to wrap the existing backend into a dynamic one
9list(APPEND armnnRefDynamicBackend_sources
10    RefDynamicBackend.cpp
11    RefDynamicBackend.hpp
12)
13
14# Set the backend source path
15set(RefBackendPath ${PROJECT_SOURCE_DIR}/src/backends/reference)
16
17# Source files of the backend, taken directly from the source tree
18file(GLOB RefBackendBaseFiles ${RefBackendPath}/*.cpp)
19file(GLOB RefBackendWorloadFiles ${RefBackendPath}/workloads/*.cpp)
20set(RefBackendFiles ${RefBackendBaseFiles} ${RefBackendWorloadFiles})
21
22# Remove the file that contains the static backend registration
23list(REMOVE_ITEM RefBackendFiles ${RefBackendPath}/RefRegistryInitializer.cpp)
24
25# Create the shared object
26add_library(Arm_CpuRef_backend MODULE ${armnnRefDynamicBackend_sources} ${RefBackendFiles})
27target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnn)
28target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/armnnUtils)
29target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/backends)
30target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
31target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
32target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include)
33set_target_properties(Arm_CpuRef_backend PROPERTIES PREFIX "")
34target_link_libraries(Arm_CpuRef_backend armnn)
35
36# BUILD_BARE_METAL && EXECUTE_NETWORK_STATIC
37endif()
38