IVGCVSW-4901 Add semantic versioning to Parsers and TfLite Delegate

 * Added Version.hpp to all Parsers
 * Added Version.hpp to TfLite Delegate
 * Updated CMakeLists to use new versions
 * Added GetVersion method to parsers and TfLite Delegate

Signed-off-by: Matthew Sloyan <matthew.sloyan@arm.com>
Change-Id: If29e1e6d9e615f9095ec1c01ad47acfff40b1dd5
diff --git a/cmake/DelegateVersion.cmake b/cmake/DelegateVersion.cmake
new file mode 100644
index 0000000..caaede8
--- /dev/null
+++ b/cmake/DelegateVersion.cmake
@@ -0,0 +1,18 @@
+#
+# Copyright © 2021 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)
+
+# Parse the ArmNN Delegate version components
+string(REGEX MATCH "#define DELEGATE_MAJOR_VERSION ([0-9]*)" _ ${delegateVersion})
+set(DELEGATE_MAJOR_VERSION ${CMAKE_MATCH_1})
+string(REGEX MATCH "#define DELEGATE_MINOR_VERSION ([0-9]*)" _ ${delegateVersion})
+set(DELEGATE_MINOR_VERSION ${CMAKE_MATCH_1})
+
+# Define LIB version
+set(DELEGATE_LIB_VERSION "${DELEGATE_MAJOR_VERSION}.${DELEGATE_MINOR_VERSION}")
+# Define LIB soversion
+set(DELEGATE_LIB_SOVERSION "${DELEGATE_MAJOR_VERSION}")
\ No newline at end of file