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/include/armnnOnnxParser/Version.hpp b/include/armnnOnnxParser/Version.hpp
new file mode 100644
index 0000000..6c08c69
--- /dev/null
+++ b/include/armnnOnnxParser/Version.hpp
@@ -0,0 +1,29 @@
+//
+// Copyright © 2021 Arm Ltd and Contributors. All rights reserved.
+// SPDX-License-Identifier: MIT
+//
+
+#pragma once
+
+namespace armnnOnnxParser
+{
+
+/// Macro utils
+#define STRINGIFY_VALUE(s) STRINGIFY_MACRO(s)
+#define STRINGIFY_MACRO(s) #s
+
+// OnnxParser version components
+#define ONNX_PARSER_MAJOR_VERSION 23
+#define ONNX_PARSER_MINOR_VERSION 0
+#define ONNX_PARSER_PATCH_VERSION 0
+
+/// ONNX_PARSER_VERSION: "X.Y.Z"
+/// where:
+///   X = Major version number
+///   Y = Minor version number
+///   Z = Patch version number
+#define ONNX_PARSER_VERSION STRINGIFY_VALUE(ONNX_PARSER_MAJOR_VERSION) "." \
+                            STRINGIFY_VALUE(ONNX_PARSER_MINOR_VERSION) "." \
+                            STRINGIFY_VALUE(ONNX_PARSER_PATCH_VERSION)
+
+} //namespace armnnOnnxParser
\ No newline at end of file