Allow silencing of memory usage

For many users memory usage is a simple boolean: does TF-M fit
in its allocated area. Since the linker scripts will error when
TF-M does not fit, the memory usage prints are not useful to these
users.

This commit allows these users to silence the memory usage messages
with the TFM_MEMORY_USAGE_QUIET config.

Change-Id: Ic346c51d1976dcce1f14aac58bac153026944522
Signed-off-by: Jimmy Brisson <jimmy.brisson@linaro.org>
diff --git a/config/config_default.cmake b/config/config_default.cmake
index f2a9894..b8b979e 100755
--- a/config/config_default.cmake
+++ b/config/config_default.cmake
@@ -6,6 +6,7 @@
 #-------------------------------------------------------------------------------
 
 set(TFM_TOOLCHAIN_FILE                  ${CMAKE_SOURCE_DIR}/toolchain_GNUARM.cmake CACHE FILEPATH    "Path to TFM compiler toolchain file")
+set(TFM_MEMORY_USAGE_QUIET              OFF         CACHE BOOL      "Disable the memory usage report")
 set(TFM_PLATFORM                        ""          CACHE STRING    "Platform to build TF-M for. Must be either a relative path from [TF-M]/platform/ext/target, or an absolute path.")
 set(CROSS_COMPILE                       arm-none-eabi CACHE STRING  "Cross-compilation triplet")
 
diff --git a/toolchain_ARMCLANG.cmake b/toolchain_ARMCLANG.cmake
index 2a97410..dfe5f4b 100644
--- a/toolchain_ARMCLANG.cmake
+++ b/toolchain_ARMCLANG.cmake
@@ -52,11 +52,17 @@
     )
 endmacro()
 
+if(TFM_MEMORY_USAGE_QUIET)
+    set(MEMORY_USAGE_FLAG "")
+else()
+    set(MEMORY_USAGE_FLAG --info=summarysizes,sizes,totals,unused,veneers)
+endif()
+
 macro(tfm_toolchain_reset_linker_flags)
     set_property(DIRECTORY PROPERTY LINK_OPTIONS "")
 
     add_link_options(
-        --info=summarysizes,sizes,totals,unused,veneers
+        ${MEMORY_USAGE_FLAG}
         --strict
         --symbols
         --xref
diff --git a/toolchain_GNUARM.cmake b/toolchain_GNUARM.cmake
index 654d5bb..915410a 100644
--- a/toolchain_GNUARM.cmake
+++ b/toolchain_GNUARM.cmake
@@ -52,6 +52,12 @@
     )
 endmacro()
 
+if(TFM_MEMORY_USAGE_QUIET)
+    set(MEMORY_USAGE_FLAG "")
+else()
+    set(MEMORY_USAGE_FLAG LINKER:--print-memory-usage)
+endif()
+
 macro(tfm_toolchain_reset_linker_flags)
     set_property(DIRECTORY PROPERTY LINK_OPTIONS "")
 
@@ -62,7 +68,7 @@
         LINKER:-fatal-warnings
         LINKER:--gc-sections
         LINKER:--no-wchar-size-warning
-        LINKER:--print-memory-usage
+        ${MEMORY_USAGE_FLAG}
     )
 endmacro()