IVGCVSW-5295 Change fmt to be a header-only interface library

 * Fix non-virtual-dtor warnings in fmt
 * Fix wrong fmt include in TfParser
 * Make fmt work in nn-driver
 * Make fmt a header-only interface library
 * Link fmt where necessary

Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: I9db7cd9a133a81262cbf79f04fb419ab97b88ea8
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4840532..c935e6b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -541,10 +541,6 @@
     src/profiling/backends/BackendProfiling.cpp
     src/profiling/backends/BackendProfiling.hpp
     third-party/cxxopts/cxxopts.hpp
-    third-party/fmt/core.h
-    third-party/fmt/format.h
-    third-party/fmt/format-inl.h
-    third-party/fmt/src/format.cc
     third-party/ghc/filesystem.hpp
     third-party/half/half.hpp
     )
@@ -587,6 +583,10 @@
     target_link_libraries(armnn Ws2_32.lib)
 endif()
 
+# Link fmt third-party library
+add_subdirectory(third-party/fmt)
+target_link_libraries(armnn fmt)
+
 if(BUILD_CAFFE_PARSER)
     install(TARGETS armnnCaffeParser
             LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}