aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNarumol Prangnawarat <narumol.prangnawarat@arm.com>2020-01-27 14:13:03 +0000
committerNarumol Prangnawarat <narumol.prangnawarat@arm.com>2020-01-27 17:11:39 +0000
commit03b6b410321923bac7ed2eb1507f524953c9a464 (patch)
tree24c78046765561f2f95ff72cffaa67632c83ed39
parent568580290c746b81f9808b133be1aa9aeb503856 (diff)
downloadarmnn-03b6b410321923bac7ed2eb1507f524953c9a464.tar.gz
IVGCVSW-4313 Add Android case to dynamic reference CMakeLists
Signed-off-by: Narumol Prangnawarat <narumol.prangnawarat@arm.com> Change-Id: I10724f2874018fb214cd12c3aef45be5347a8306
-rw-r--r--src/dynamic/reference/CMakeLists.txt44
1 files changed, 41 insertions, 3 deletions
diff --git a/src/dynamic/reference/CMakeLists.txt b/src/dynamic/reference/CMakeLists.txt
index 79bf7ec362..4eeebea3af 100644
--- a/src/dynamic/reference/CMakeLists.txt
+++ b/src/dynamic/reference/CMakeLists.txt
@@ -4,9 +4,17 @@
#
cmake_minimum_required (VERSION 3.0.2)
+project(dynamic-reference)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+if("${CMAKE_SYSTEM_NAME}" STREQUAL Android)
+ add_definitions("-DBOOST_ALL_NO_LIB") # Turn off auto-linking as we specify the libs manually
+ find_package(Boost REQUIRED COMPONENTS system filesystem)
+ include_directories(SYSTEM "${Boost_INCLUDE_DIRS}")
+ link_directories(${Boost_LIBRARY_DIRS})
+endif()
+
# File needed to wrap the existing backend into a dynamic one
list(APPEND armnnRefDynamicBackend_sources
RefDynamicBackend.cpp
@@ -24,12 +32,42 @@ set(RefBackendFiles ${RefBackendBaseFiles} ${RefBackendWorloadFiles})
# Remove the file that contains the static backend registration
list(REMOVE_ITEM RefBackendFiles ${RefBackendPath}/RefRegistryInitializer.cpp)
-# Create the shared object
-add_library(Arm_CpuRef_backend MODULE ${armnnRefDynamicBackend_sources} ${RefBackendFiles})
+if("${CMAKE_SYSTEM_NAME}" STREQUAL Android)
+ # Set the common backend source path
+ set(CommonBackendPath ${PROJECT_SOURCE_DIR}/../../../src/backends/backendsCommon)
+ # Source files of the common backend
+ file(GLOB CommonBackendFiles ${CommonBackendPath}/*.cpp)
+
+ set(ArmnnPath ${PROJECT_SOURCE_DIR}/../../../src/armnn)
+ file(GLOB ArmnnFiles ${ArmnnPath}/*.cpp)
+
+ file(GLOB LayerFiles ${ArmnnPath}/layers/*cpp)
+ file(GLOB OptimizationFIles ${ArmnnPath}/optimizations/*.cpp)
+ file(GLOB ArmnnBaseFiles ${ArmnnPath}/*cpp)
+
+ set(ArmnnFiles ${ArmnnBaseFiles} ${LayerFiles} ${OptimizationFIles})
+
+ set(ArmnnUtilsPath ${PROJECT_SOURCE_DIR}/../../../src/armnnUtils)
+ file(GLOB ArmnnUtilsFiles ${ArmnnUtilsPath}/*cpp)
+
+ set(ProfilingPath ${PROJECT_SOURCE_DIR}/../../../src/profiling)
+ file(GLOB ProfilingFiles ${ProfilingPath}/*cpp)
+
+ add_library(Arm_CpuRef_backend MODULE
+ ${armnnRefDynamicBackend_sources} ${RefBackendFiles} ${CommonBackendFiles}
+ ${ArmnnFiles} ${ArmnnUtilsFiles} ${ProfilingFiles})
+else()
+ # Create the shared object
+ add_library(Arm_CpuRef_backend MODULE ${armnnRefDynamicBackend_sources} ${RefBackendFiles})
+endif()
target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../include)
target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../third-party) # for half
target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/armnn)
target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/armnnUtils)
target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/backends)
-target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/profiling) \ No newline at end of file
+target_include_directories(Arm_CpuRef_backend PRIVATE ${PROJECT_SOURCE_DIR}/../../../src/profiling)
+if("${CMAKE_SYSTEM_NAME}" STREQUAL Android)
+ target_include_directories(Arm_CpuRef_backend PRIVATE ${Boost_INCLUDE_DIRS})
+ target_link_libraries(Arm_CpuRef_backend ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY})
+endif()