aboutsummaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorTeresa Charlin <teresa.charlinreyes@arm.com>2023-03-14 12:10:28 +0000
committerTeresa Charlin <teresa.charlinreyes@arm.com>2023-03-28 11:41:55 +0100
commitad1b3d7518429e2d16a2695d9b0bbf81b6565ac9 (patch)
treea5b8e1ad68a2437f007338f0b6195ca5ed2bddc3 /cmake
parent9cb3466b677a1048b8abb24661e92c4c83fdda04 (diff)
downloadarmnn-ad1b3d7518429e2d16a2695d9b0bbf81b6565ac9.tar.gz
IVGCVSW-7555 Restructure Delegate
* New folders created: * common is for common code where TfLite API is not used * classic is for existing delegate implementations * opaque is for new opaque delegate implementation, * tests is for shared between existing Delegate and Opaque Delegate which have test utils to work which delegate to use. * Existing delegate is built to libarmnnDelegate.so and opaque delegate is built as libarmnnOpaqueDelegate.so * Opaque structure is introduced but no API is added yet. * CmakeList.txt and delegate/CMakeList.txt have been modified and 2 new CmakeList.txt added * Rename BUILD_ARMNN_TFLITE_DELEGATE as BUILD_CLASSIC_DELEGATE * Rename BUILD_ARMNN_TFLITE_OPAQUE_DELEGATE as BUILD_OPAQUE_DELEGATE Signed-off-by: Teresa Charlin <teresa.charlinreyes@arm.com> Change-Id: Ib682b9ad0ac8d8acdc4ec6d9099bb0008a9fe8ed
Diffstat (limited to 'cmake')
-rw-r--r--cmake/ClassicDelegateVersion.cmake (renamed from cmake/DelegateVersion.cmake)8
-rw-r--r--cmake/GlobalConfig.cmake21
-rw-r--r--cmake/OpaqueDelegateVersion.cmake18
3 files changed, 35 insertions, 12 deletions
diff --git a/cmake/DelegateVersion.cmake b/cmake/ClassicDelegateVersion.cmake
index caaede85bc..fa036f1a28 100644
--- a/cmake/DelegateVersion.cmake
+++ b/cmake/ClassicDelegateVersion.cmake
@@ -1,15 +1,15 @@
#
-# Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+# Copyright © 2021,2023 Arm Ltd and Contributors. All rights reserved.
# SPDX-License-Identifier: MIT
#
# Read the ArmNN Delegate version components from file
-file(READ ${CMAKE_CURRENT_LIST_DIR}/../delegate/include/Version.hpp delegateVersion)
+file(READ ${CMAKE_CURRENT_LIST_DIR}/../delegate/classic/include/Version.hpp ClassicDelegateVersion)
# Parse the ArmNN Delegate version components
-string(REGEX MATCH "#define DELEGATE_MAJOR_VERSION ([0-9]*)" _ ${delegateVersion})
+string(REGEX MATCH "#define DELEGATE_MAJOR_VERSION ([0-9]*)" _ ${ClassicDelegateVersion})
set(DELEGATE_MAJOR_VERSION ${CMAKE_MATCH_1})
-string(REGEX MATCH "#define DELEGATE_MINOR_VERSION ([0-9]*)" _ ${delegateVersion})
+string(REGEX MATCH "#define DELEGATE_MINOR_VERSION ([0-9]*)" _ ${ClassicDelegateVersion})
set(DELEGATE_MINOR_VERSION ${CMAKE_MATCH_1})
# Define LIB version
diff --git a/cmake/GlobalConfig.cmake b/cmake/GlobalConfig.cmake
index 1f24fa537c..3337f41cbf 100644
--- a/cmake/GlobalConfig.cmake
+++ b/cmake/GlobalConfig.cmake
@@ -36,8 +36,8 @@ option(BUILD_PYTHON_WHL "Build Python wheel package" OFF)
option(BUILD_PYTHON_SRC "Build Python source package" OFF)
option(BUILD_STATIC_PIPE_LIBS "Build Static PIPE libraries" OFF)
option(BUILD_PIPE_ONLY "Build the PIPE libraries only" OFF)
-option(BUILD_ARMNN_TFLITE_DELEGATE "Build the Arm NN TfLite delegate" OFF)
-option(BUILD_ARMNN_TFLITE_OPAQUE_DELEGATE "Build the Arm NN TfLite Opaque delegate" OFF)
+option(BUILD_CLASSIC_DELEGATE "Build the Arm NN TfLite delegate" OFF)
+option(BUILD_OPAQUE_DELEGATE "Build the Arm NN TfLite Opaque delegate" OFF)
option(BUILD_MEMORY_STRATEGY_BENCHMARK "Build the MemoryBenchmark" OFF)
option(BUILD_BARE_METAL "Disable features requiring operating system support" OFF)
option(BUILD_SHARED_LIBS "Determines if Armnn will be built statically or dynamically.
@@ -51,13 +51,18 @@ option(EXECUTE_NETWORK_STATIC " This is a limited experimental build that is ent
ARMNNREF=1/0
ARMCOMPUTECL=0
BUILD_ONNX_PARSER=0
- BUILD_ARMNN_TFLITE_DELEGATE=0
- BUILD_ARMNN_TFLITE_OPAQUE_DELEGATE=0
+ BUILD_CLASSIC_DELEGATE=0
+ BUILD_OPAQUE_DELEGATE=0
BUILD_TIMELINE_DECODER=0
BUILD_BASE_PIPE_SERVER=0
BUILD_UNIT_TESTS=0
BUILD_GATORD_MOCK=0" OFF)
+if(BUILD_ARMNN_TFLITE_DELEGATE)
+ message(BUILD_ARMNN_TFLITE_DELEGATE option is deprecated, it will be removed in 24.02, please use BUILD_CLASSIC_DELEGATE instead)
+ set(BUILD_CLASSIC_DELEGATE 1)
+endif()
+
include(SelectLibraryConfigurations)
set(COMPILER_IS_GNU_LIKE 0)
@@ -180,8 +185,8 @@ if (NOT BUILD_PIPE_ONLY)
endif()
# JNI_BUILD has DBUILD_SHARED_LIBS set to 0 and not finding libs while building
-# hence added NOT BUILD_ARMNN_TFLITE_DELEGATE/BUILD_ARMNN_TFLITE_OPAQUE_DELEGATE condition
-if(NOT BUILD_SHARED_LIBS AND NOT BUILD_ARMNN_TFLITE_DELEGATE AND NOT BUILD_ARMNN_TFLITE_OPAQUE_DELEGATE)
+# hence added NOT BUILD_CLASSIC_DELEGATE/BUILD_OPAQUE_DELEGATE condition
+if(NOT BUILD_SHARED_LIBS AND NOT BUILD_CLASSIC_DELEGATE AND NOT BUILD_OPAQUE_DELEGATE)
set(CMAKE_FIND_LIBRARY_SUFFIXES .a .lib)
endif()
@@ -224,11 +229,11 @@ if(BUILD_ONNX_PARSER)
include_directories(SYSTEM "${ONNX_GENERATED_SOURCES}")
endif()
-if(BUILD_ARMNN_TFLITE_DELEGATE)
+if(BUILD_CLASSIC_DELEGATE)
add_definitions(-DARMNN_TFLITE_DELEGATE)
endif()
-if(BUILD_ARMNN_TFLITE_OPAQUE_DELEGATE)
+if(BUILD_OPAQUE_DELEGATE)
add_definitions(-DARMNN_TFLITE_OPAQUE_DELEGATE)
endif()
diff --git a/cmake/OpaqueDelegateVersion.cmake b/cmake/OpaqueDelegateVersion.cmake
new file mode 100644
index 0000000000..d6ae1ba111
--- /dev/null
+++ b/cmake/OpaqueDelegateVersion.cmake
@@ -0,0 +1,18 @@
+#
+# Copyright © 2023 Arm Ltd and Contributors. All rights reserved.
+# SPDX-License-Identifier: MIT
+#
+
+# Read the ArmNN Delegate version components from file
+file(READ ${CMAKE_CURRENT_LIST_DIR}/../delegate/opaque/include/Version.hpp opaqueDelegateVersion)
+
+# Parse the ArmNN Delegate version components
+string(REGEX MATCH "#define OPAQUE_DELEGATE_MAJOR_VERSION ([0-9]*)" _ ${opaqueDelegateVersion})
+set(OPAQUE_DELEGATE_MAJOR_VERSION ${CMAKE_MATCH_1})
+string(REGEX MATCH "#define OPAQUE_DELEGATE_MINOR_VERSION ([0-9]*)" _ ${opaqueDelegateVersion})
+set(OPAQUE_DELEGATE_MINOR_VERSION ${CMAKE_MATCH_1})
+
+# Define LIB version
+set(OPAQUE_DELEGATE_LIB_VERSION "${OPAQUE_DELEGATE_MAJOR_VERSION}.${OPAQUE_DELEGATE_MINOR_VERSION}")
+# Define LIB soversion
+set(OPAQUE_DELEGATE_LIB_SOVERSION "${OPAQUE_DELEGATE_MINOR_VERSION}") \ No newline at end of file