diff options
author | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2020-01-27 14:13:03 +0000 |
---|---|---|
committer | Narumol Prangnawarat <narumol.prangnawarat@arm.com> | 2020-01-27 17:11:39 +0000 |
commit | 03b6b410321923bac7ed2eb1507f524953c9a464 (patch) | |
tree | 24c78046765561f2f95ff72cffaa67632c83ed39 | |
parent | 568580290c746b81f9808b133be1aa9aeb503856 (diff) | |
download | armnn-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.txt | 44 |
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() |