build: Print the full TF-M version on boot
Unify the version extraction with documentation.
Print the boot TF-M version with tag and SHA, provieded by git describe
in a form: <TAG>+<SHA>
Signed-off-by: Anton Komlev <anton.komlev@arm.com>
Change-Id: I64b6202e231a98860973f7cb2ba8d5e3eeffb34f
diff --git a/cmake/version.cmake b/cmake/version.cmake
new file mode 100644
index 0000000..97750f5
--- /dev/null
+++ b/cmake/version.cmake
@@ -0,0 +1,15 @@
+#-------------------------------------------------------------------------------
+# Copyright (c) 2021-2022, Arm Limited. All rights reserved.
+#
+# SPDX-License-Identifier: BSD-3-Clause
+#
+#-------------------------------------------------------------------------------
+
+execute_process(COMMAND git describe --tags --always
+ OUTPUT_VARIABLE TFM_VERSION_FULL
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+string(REGEX REPLACE "TF-M" "" TFM_VERSION_FULL ${TFM_VERSION_FULL})
+# remove a commit number
+string(REGEX REPLACE "-[0-9]+-g" "+" TFM_VERSION_FULL ${TFM_VERSION_FULL})
+string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" TFM_VERSION ${TFM_VERSION_FULL})