blob: 79bf7ec36292c80aff750465128a80161c52715c [file] [log] [blame]
Narumol Prangnawarat60a20fb2019-12-09 17:24:41 +00001#
2# Copyright © 2019 Arm Ltd. All rights reserved.
3# SPDX-License-Identifier: MIT
4#
5
6cmake_minimum_required (VERSION 3.0.2)
7
8set(CMAKE_POSITION_INDEPENDENT_CODE ON)
9
10# File needed to wrap the existing backend into a dynamic one
11list(APPEND armnnRefDynamicBackend_sources
12 RefDynamicBackend.cpp
13 RefDynamicBackend.hpp
14)
15
16# Set the backend source path
17set(RefBackendPath ${PROJECT_SOURCE_DIR}/../../../src/backends/reference)
18
19# Source files of the backend, taken directly from the source tree
20file(GLOB RefBackendBaseFiles ${RefBackendPath}/*.cpp)
21file(GLOB RefBackendWorloadFiles ${RefBackendPath}/workloads/*.cpp)
22set(RefBackendFiles ${RefBackendBaseFiles} ${RefBackendWorloadFiles})
23
24# Remove the file that contains the static backend registration
25list(REMOVE_ITEM RefBackendFiles ${RefBackendPath}/RefRegistryInitializer.cpp)
26
27# Create the shared object
28add_library(Arm_CpuRef_backend MODULE ${armnnRefDynamicBackend_sources} ${RefBackendFiles})
29
30target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../include)
31target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../third-party) # for half
32target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/armnn)
33target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/armnnUtils)
34target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/backends)
35target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/profiling)