aboutsummaryrefslogtreecommitdiff
path: root/delegate/CMakeLists.txt
diff options
context:
space:
mode:
authorFinn Williams <Finn.Williams@arm.com>2020-11-25 14:32:42 +0000
committerfinn.williams <finn.williams@arm.com>2020-11-30 17:00:41 +0000
commitbbbefecd34a9420bcb003dd230402c55ee5150d5 (patch)
treea2a75780106abfa81e14d6e11f568e395bcb67de /delegate/CMakeLists.txt
parent31c39be002b9e9040b2306e2461ee228853b4ed6 (diff)
downloadarmnn-bbbefecd34a9420bcb003dd230402c55ee5150d5.tar.gz
IVGCVSW-5587 Remove Tensorflow requirement from Arm NN TfLite delegate
* Added support for building the delegate with an external armnn path * Replaced potentially troublesome package manager * Explicitly set the privacy levels of delegate libraries * Fixed some error handling in ExecuteNetwork Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: I2a7abc099796012cbb043c5b319f81778c9f3b56
Diffstat (limited to 'delegate/CMakeLists.txt')
-rw-r--r--delegate/CMakeLists.txt41
1 files changed, 17 insertions, 24 deletions
diff --git a/delegate/CMakeLists.txt b/delegate/CMakeLists.txt
index 677a38ea4a..aa2f3600bf 100644
--- a/delegate/CMakeLists.txt
+++ b/delegate/CMakeLists.txt
@@ -8,7 +8,7 @@ project(armnnDelegate)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -Wall -Wextra -Werror -Wold-style-cast -Wno-missing-braces -Wconversion -Wsign-conversion")
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules/")
set(armnnDelegate_sources)
list(APPEND armnnDelegate_sources
@@ -54,24 +54,15 @@ target_include_directories(armnnDelegate
include(GNUInstallDirs)
## Add Armnn as a Dependency
-find_package(Armnn REQUIRED)
-target_link_libraries(armnnDelegate Armnn::Armnn)
-
-## Add Tensorflow v2.3.1 dependency
-find_package(Tensorflow 2.3.1 REQUIRED MODULE)
-
-target_link_libraries(armnnDelegate
- ${Tensorflow_LIB})
-
-target_include_directories(armnnDelegate
- PRIVATE
- ${Tensorflow_INCLUDE_DIR})
+if(NOT ARMNN_SUB_PROJECT)
+ find_package(Armnn REQUIRED CONFIG HINTS ${Armnn_DIR})
+endif()
+target_link_libraries(armnnDelegate PUBLIC Armnn::Armnn)
## Add TfLite v2.3.1 dependency
find_package(TfLite REQUIRED MODULE)
-target_link_libraries(armnnDelegate
- ${TfLite_LIB})
+target_link_libraries(armnnDelegate PUBLIC ${TfLite_LIB})
# Various tflite header files are not warning clean
# We can't change compilation flags on header files directly, so we need to add them to an interface library first
@@ -84,12 +75,12 @@ target_compile_options(tflite_headers INTERFACE $<$<CXX_COMPILER_ID:GNU>:-Wno-co
-Wno-unused-parameter
-Wno-unused-function>)
-target_link_libraries(armnnDelegate tflite_headers)
+target_link_libraries(armnnDelegate PUBLIC tflite_headers)
## Add Flatbuffers dependency
find_package(Flatbuffers REQUIRED MODULE)
-target_link_libraries(armnnDelegate
+target_link_libraries(armnnDelegate PRIVATE
${Flatbuffers_LIB})
# include/flatbuffers/flatbuffers.h is not warning clean
@@ -99,7 +90,7 @@ target_include_directories(flatbuffer_headers INTERFACE $<BUILD_INTERFACE:${Flat
$<INSTALL_INTERFACE:include/flatbuffer_headers>)
target_compile_options(flatbuffer_headers INTERFACE $<$<CXX_COMPILER_ID:GNU>:-Wno-sign-conversion>)
-target_link_libraries(armnnDelegate flatbuffer_headers)
+target_link_libraries(armnnDelegate PUBLIC flatbuffer_headers)
option(BUILD_UNIT_TESTS "Build unit tests" ON)
if(BUILD_UNIT_TESTS)
@@ -146,12 +137,11 @@ if(BUILD_UNIT_TESTS)
# Add half library from armnn third-party libraries
target_include_directories(DelegateUnitTests PRIVATE ${ARMNN_SOURCE_DIR}/third-party)
- target_link_libraries(DelegateUnitTests armnnDelegate)
- target_link_libraries(DelegateUnitTests Armnn::armnnUtils)
+ target_link_libraries(DelegateUnitTests PRIVATE armnnDelegate)
+ target_link_libraries(DelegateUnitTests PRIVATE Armnn::armnnUtils)
-target_link_libraries(DelegateUnitTests tflite_headers)
-
-target_link_libraries(DelegateUnitTests flatbuffer_headers)
+ target_link_libraries(DelegateUnitTests PRIVATE tflite_headers)
+ target_link_libraries(DelegateUnitTests PRIVATE flatbuffer_headers)
endif()
@@ -187,10 +177,13 @@ include(CMakePackageConfigHelpers)
set(INSTALL_CONFIGDIR ${CMAKE_INSTALL_LIBDIR})
message(STATUS "CMAKE_CURRENT_LIST_DIR ${CMAKE_CURRENT_LIST_DIR}" )
message(STATUS "CMAKE_CURRENT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}" )
+SET(Armnn_DIR "${Armnn_DIR}")
+
configure_package_config_file(
${CMAKE_CURRENT_LIST_DIR}/cmake/Modules/ArmnnDelegateConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/ArmnnDelegateConfig.cmake
- INSTALL_DESTINATION ${INSTALL_CONFIGDIR})
+ INSTALL_DESTINATION ${INSTALL_CONFIGDIR}
+ PATH_VARS Armnn_DIR)
## Install ArmNN Delegate config file
install(