SWDEV-556947 - Parse the HIP version from the Git tag (#1135)

This commit is contained in:
marandje
2025-11-06 10:18:26 +01:00
committed by GitHub
parent 478cee0f68
commit 0ad05ed515
+37 -3
View File
@@ -87,16 +87,50 @@ endmacro()
# Setup version information
#############################
find_package(Perl REQUIRED)
find_package(Git)
# Determine HIP_BASE_VERSION
set(ENV{HIP_PATH} "")
file(STRINGS ${HIP_COMMON_DIR}/VERSION VERSION_LIST REGEX "^[0-9]+")
list(GET VERSION_LIST 0 HIP_VERSION_MAJOR)
list(GET VERSION_LIST 1 HIP_VERSION_MINOR)
list(GET VERSION_LIST 2 HIP_VERSION_PATCH)
set(HIP_VERSION_GITDATE 0)
find_package(Git)
if(HIP_VERSION_PATCH EQUAL 0 AND GIT_FOUND AND UNIX)
execute_process(
COMMAND ${GIT_EXECUTABLE} fetch --tags origin
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
OUTPUT_QUIET
ERROR_QUIET)
execute_process(
COMMAND ${GIT_EXECUTABLE} describe --tags --match "hip-version_*" --abbrev=0 HEAD
WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}
RESULT_VARIABLE _git_tag_result
OUTPUT_VARIABLE _git_tag_string
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET)
if(_git_tag_result EQUAL 0 AND _git_tag_string)
string(REGEX MATCH "hip-version_([0-9]+)\\.([0-9]+)\\.([0-9]+)" _version_matched "${_git_tag_string}")
if(_version_matched)
set(HIP_VERSION_MAJOR ${CMAKE_MATCH_1})
set(HIP_VERSION_MINOR ${CMAKE_MATCH_2})
set(HIP_VERSION_PATCH ${CMAKE_MATCH_3})
file(WRITE ${HIP_COMMON_DIR}/VERSION
"#HIP_VERSION_MAJOR\n${HIP_VERSION_MAJOR}\n"
"#HIP_VERSION_MINOR\n${HIP_VERSION_MINOR}\n"
"#HIP_VERSION_PATCH\n${HIP_VERSION_PATCH}\n")
message(STATUS "Updated HIP version from git tag: ${HIP_VERSION_MAJOR}.${HIP_VERSION_MINOR}.${HIP_VERSION_PATCH} -> ${HIP_COMMON_DIR}/VERSION")
endif()
endif()
else()
message(STATUS "Using HIP version from VERSION file: ${HIP_VERSION_MAJOR}.${HIP_VERSION_MINOR}.${HIP_VERSION_PATCH}")
endif()
set(HIP_VERSION_GITDATE 0)
# FIXME: Two different version strings used.
# Below we use UNIX commands, not compatible with Windows.