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/CMakeLists.txt b/CMakeLists.txt
index a2b6e90..0a71de7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,6 +9,8 @@
 set(additional_cmake_files)
 list(APPEND additional_cmake_files
     cmake/ArmnnVersion.cmake
+    cmake/DelegateVersion.cmake
+    cmake/ParserVersion.cmake
     cmake/Utils.cmake
     cmake/GlobalConfig.cmake
     cmake/AddDllCopyCommands.cmake)
@@ -102,6 +104,7 @@
     set(armnn_caffe_parser_sources)
     list(APPEND armnn_caffe_parser_sources
         include/armnnCaffeParser/ICaffeParser.hpp
+        include/armnnCaffeParser/Version.hpp
         src/armnnCaffeParser/RecordByRecordCaffeParser.hpp
         src/armnnCaffeParser/RecordByRecordCaffeParser.cpp
         src/armnnCaffeParser/CaffeParser.hpp
@@ -120,7 +123,7 @@
 
     target_link_libraries(armnnCaffeParser armnn)
     target_link_libraries(armnnCaffeParser ${PROTOBUF_LIBRARIES})
-    set_target_properties(armnnCaffeParser PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION})
+    set_target_properties(armnnCaffeParser PROPERTIES VERSION ${CAFFE_PARSER_LIB_VERSION} SOVERSION ${CAFFE_PARSER_LIB_SOVERSION})
 
 endif()
 
@@ -128,6 +131,7 @@
     set(armnn_onnx_parser_sources)
     list(APPEND armnn_onnx_parser_sources
         include/armnnOnnxParser/IOnnxParser.hpp
+        include/armnnOnnxParser/Version.hpp
         src/armnnOnnxParser/OnnxParser.hpp
         src/armnnOnnxParser/OnnxParser.cpp
         ${ONNX_GENERATED_SOURCES}/onnx/onnx.pb.cc
@@ -145,13 +149,14 @@
 
     # Protobuf
     target_link_libraries(armnnOnnxParser ${PROTOBUF_LIBRARIES})
-    set_target_properties(armnnOnnxParser PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION})
+    set_target_properties(armnnOnnxParser PROPERTIES VERSION ${ONNX_PARSER_LIB_VERSION} SOVERSION ${ONNX_PARSER_LIB_SOVERSION})
 endif()
 
 if(BUILD_TF_PARSER)
     set(armnn_tf_parser_sources)
     list(APPEND armnn_tf_parser_sources
         include/armnnTfParser/ITfParser.hpp
+        include/armnnTfParser/Version.hpp
         src/armnnTfParser/TfParser.hpp
         src/armnnTfParser/TfParser.cpp
         ${TF_PROTOBUFS}
@@ -169,7 +174,7 @@
 
     # Protobuf (use the specific version tensorflow wants)
     target_link_libraries(armnnTfParser ${PROTOBUF_LIBRARIES})
-    set_target_properties(armnnTfParser PROPERTIES VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION})
+    set_target_properties(armnnTfParser PROPERTIES VERSION ${TF_PARSER_LIB_VERSION} SOVERSION ${TF_PARSER_LIB_SOVERSION})
 endif()
 
 if(BUILD_ARMNN_QUANTIZER AND ARMNNREF)