Skip to content

Commit a24e70d

Browse files
Anton-TFAntonZma
authored andcommitted
[nrf fromtree] Build: Update TF-M versioning logic
- Bump manual fallback version to v2.2.2** - Refine version fallback mechanism to append '**' when Git tags are unavailable, indicating uncertainty in the exact TF-M version Signed-off-by: Anton Komlev <anton.komlev@arm.com> Change-Id: I8d5d38a19a43db5981e64ecdc7379ec0906f6d5e (cherry picked from commit a151f86)
1 parent 9caabe6 commit a24e70d

1 file changed

Lines changed: 13 additions & 6 deletions

File tree

cmake/version.cmake

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,16 @@
55
#
66
#-------------------------------------------------------------------------------
77

8-
# The 'TFM_VERSION_MANUAL' is used for fallback when Git tags are not available
9-
set(TFM_VERSION_MANUAL "2.2.2")
8+
# TFM_VERSION_MANUAL is used as a fallback when Git tags aren’t available.
9+
# The '**' is added on purpose to show that the version is uncertain in that case.
10+
# Please keep it in place when updating.
11+
set(TFM_VERSION_MANUAL "2.2.2**")
1012

1113
if(TRUE)
1214
# Git execution fails.
1315
# Applying a manual version assuming the code tree is a local copy.
1416
set(TFM_VERSION_FULL "v${TFM_VERSION_MANUAL}")
17+
string(REGEX REPLACE "\\*\\*$" "" TFM_VERSION ${TFM_VERSION_MANUAL})
1518
return()
1619
endif()
1720

@@ -25,15 +28,19 @@ if(TFM_TAG EQUAL -1)
2528
OUTPUT_VARIABLE TFM_GIT_HASH
2629
OUTPUT_STRIP_TRAILING_WHITESPACE)
2730

31+
message(WARNING "Unable to detect TF-M version from Git tags. Using TFM_VERSION_MANUAL=" ${TFM_VERSION_MANUAL} " override")
2832
set(TFM_VERSION_FULL "v${TFM_VERSION_MANUAL}+g${TFM_GIT_HASH}")
2933
endif()
3034

3135
string(REGEX REPLACE "TF-M" "" TFM_VERSION_FULL ${TFM_VERSION_FULL})
32-
# remove a commit number
33-
string(REGEX REPLACE "-[0-9]+-g" "+" TFM_VERSION_FULL ${TFM_VERSION_FULL})
36+
37+
# Derive TFM_VERSION from TFM_VERSION_FULL by removing any appended commit
38+
# number, for use as the CMake project version
39+
string(REGEX REPLACE "-[0-9]+-" "+" TFM_VERSION_FULL ${TFM_VERSION_FULL})
3440
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" TFM_VERSION ${TFM_VERSION_FULL})
3541

3642
# Check that manually set version is up to date
37-
if (NOT TFM_VERSION_MANUAL STREQUAL TFM_VERSION)
38-
message(WARNING "TFM_VERSION_MANUAL mismatches to actual TF-M version. Please update TFM_VERSION_MANUAL in cmake/version.cmake")
43+
string(REGEX REPLACE "\\*\\*$" "" TFM_VERSION_MANUAL_CLEAN "${TFM_VERSION_MANUAL}")
44+
if (NOT TFM_VERSION_MANUAL_CLEAN STREQUAL TFM_VERSION)
45+
message(WARNING "TFM_VERSION_MANUAL=" ${TFM_VERSION_MANUAL} " mismatches to actual TF-M version=" ${TFM_VERSION} ". Please update TFM_VERSION_MANUAL in cmake/version.cmake")
3946
endif()

0 commit comments

Comments
 (0)