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