IVGCVSW-7031 Generate static execute network

 * Build ExecNet lib dependencies as object libs except libarmnn
 * Disable PIPE when building static ExecNet
 * Remove multiple definition from AsyncExecutionCallback
 * Disable DynamicBackend for ExecNet Static build
 * Disable inference  tests for TfLiteParser and ONNX during static ExecNet
 * Remove Tensorflow Parser if condition
 * Add Disable thread macro to InferenceModel
 * Don't compile dynamic backend symbols in Runtime.cpp for Baremetal and
   Exenet Static

Signed-off-by: Ryan OShea <ryan.oshea3@arm.com>
Change-Id: If41c063eab5f05b3df0a6e064924a36a177f116a
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 51c4cf2..476e080 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
 #
-# Copyright © 2018-2022 Arm Ltd and Contributors. All rights reserved.
+# Copyright © 2018-2023 Arm Ltd and Contributors. All rights reserved.
 # Copyright 2020 NXP
 # SPDX-License-Identifier: MIT
 #
@@ -446,7 +446,7 @@
     add_definitions(-DARMNN_TFLITE_DELEGATE)
 endif()
 
-if(BUILD_BARE_METAL)
+if(BUILD_BARE_METAL OR EXECUTE_NETWORK_STATIC)
     add_library_ex(armnn STATIC ${armnn_sources})
 else()
     if (BUILD_SHARED_LIBS)
@@ -484,7 +484,7 @@
 target_link_libraries(armnn PUBLIC pipeCommon)
 target_link_libraries(armnn PUBLIC pipeClient)
 
-if(NOT BUILD_BARE_METAL)
+if(NOT BUILD_BARE_METAL AND NOT EXECUTE_NETWORK_STATIC)
     target_link_libraries(armnn PUBLIC ${CMAKE_DL_LIBS})
 endif()