blob: fe875282f5f1eb2214abb038f331a16413e9cd8b [file] [log] [blame]
Matteo Martincigh4e73b422019-08-08 13:46:32 +01001#
Ryan OSheab5540542022-07-06 09:52:52 +01002# Copyright © 2017, 2023 Arm Ltd. All rights reserved.
Matteo Martincigh4e73b422019-08-08 13:46:32 +01003# SPDX-License-Identifier: MIT
4#
5
Ryan OSheab5540542022-07-06 09:52:52 +01006if((NOT BUILD_BARE_METAL) AND (NOT EXECUTE_NETWORK_STATIC))
Jim Flynn870b96c2022-03-25 21:24:56 +00007
Matteo Martincigh4e73b422019-08-08 13:46:32 +01008# 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)
Matteo Martincighe67edb22019-08-14 14:05:46 +010019file(GLOB RefBackendWorloadFiles ${RefBackendPath}/workloads/*.cpp)
20set(RefBackendFiles ${RefBackendBaseFiles} ${RefBackendWorloadFiles})
Matteo Martincigh4e73b422019-08-08 13:46:32 +010021
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)
Narumol Prangnawarat85ad78c2019-11-18 15:34:23 +000030target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/src/profiling)
Finn Williams56b465d2020-05-15 13:34:12 +010031target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/common/include)
Jim Flynn27761832022-03-20 21:52:17 +000032target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/profiling/client/include)
Matteo Martincigh4e73b422019-08-08 13:46:32 +010033set_target_properties(Arm_CpuRef_backend PROPERTIES PREFIX "")
34target_link_libraries(Arm_CpuRef_backend armnn)
Jim Flynn870b96c2022-03-25 21:24:56 +000035
Ryan OSheab5540542022-07-06 09:52:52 +010036# BUILD_BARE_METAL && EXECUTE_NETWORK_STATIC
Jim Flynn870b96c2022-03-25 21:24:56 +000037endif()