fix: use Fallback version if git found without tag info

fixes https://github.com/deskflow/deskflow/issues/8033
This commit is contained in:
sithlord48 2025-01-02 17:09:39 -05:00 committed by Chris Rizzitello
parent 6f744d2278
commit 4702fa56d4

View file

@ -39,7 +39,6 @@ set(DESKFLOW_VERSION_PATCH 0)
set(DESKFLOW_VERSION_TWEAK 0) set(DESKFLOW_VERSION_TWEAK 0)
# Get the version from git if it's a git repository # Get the version from git if it's a git repository
# cmake-format: off
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git) if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
find_package(Git) find_package(Git)
if(GIT_FOUND) if(GIT_FOUND)
@ -50,36 +49,44 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
) )
execute_process( execute_process(
COMMAND ${GIT_EXECUTABLE} describe --long --match v* --always COMMAND ${GIT_EXECUTABLE} rev-list --tags --count
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
OUTPUT_VARIABLE GITREV OUTPUT_VARIABLE GIT_TAG_COUNT
ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE) ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
string(FIND ${GITREV} "v" isRev) )
if(NOT ifRev EQUAL -1)
string(REGEX MATCH [0-9]+ MAJOR ${GITREV}) if(GIT_TAG_COUNT EQUAL 0)
string(REGEX MATCH \\.[0-9]+ MINOR ${GITREV}) set(DESKFLOW_VERSION_TWEAK "9999")
string(REPLACE "." "" MINOR "${MINOR}") else()
string(REGEX MATCH [0-9]+\- PATCH ${GITREV}) execute_process(
string(REPLACE "-" "" PATCH "${PATCH}") COMMAND ${GIT_EXECUTABLE} describe --long --match v* --always
string(REGEX MATCH \-[0-9]+\- TWEAK ${GITREV}) WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
string(REPLACE "-" "" TWEAK "${TWEAK}") OUTPUT_VARIABLE GITREV
set(DESKFLOW_VERSION_MAJOR ${MAJOR}) ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE
set(DESKFLOW_VERSION_MINOR ${MINOR}) )
set(DESKFLOW_VERSION_PATCH ${PATCH}) string(FIND ${GITREV} "v" isRev)
set(DESKFLOW_VERSION_TWEAK ${TWEAK}) if(NOT ifRev EQUAL -1)
elseif(NOT ${GITREV} STREQUAL "") string(REGEX MATCH [0-9]+ MAJOR ${GITREV})
set(DESKFLOW_VERSION_TWEAK ${GITREV}) string(REGEX MATCH \\.[0-9]+ MINOR ${GITREV})
string(REPLACE "." "" MINOR "${MINOR}")
string(REGEX MATCH [0-9]+\- PATCH ${GITREV})
string(REPLACE "-" "" PATCH "${PATCH}")
string(REGEX MATCH \-[0-9]+\- TWEAK ${GITREV})
string(REPLACE "-" "" TWEAK "${TWEAK}")
set(DESKFLOW_VERSION_MAJOR ${MAJOR})
set(DESKFLOW_VERSION_MINOR ${MINOR})
set(DESKFLOW_VERSION_PATCH ${PATCH})
set(DESKFLOW_VERSION_TWEAK ${TWEAK})
elseif(NOT ${GITREV} STREQUAL "")
set(DESKFLOW_VERSION_TWEAK ${GITREV})
endif()
endif() endif()
endif() endif()
endif() endif()
# cmake-format: on
set(DESKFLOW_VERSION set(DESKFLOW_VERSION "${DESKFLOW_VERSION_MAJOR}.${DESKFLOW_VERSION_MINOR}.${DESKFLOW_VERSION_PATCH}.${DESKFLOW_VERSION_TWEAK}")
"${DESKFLOW_VERSION_MAJOR}.${DESKFLOW_VERSION_MINOR}.${DESKFLOW_VERSION_PATCH}.${DESKFLOW_VERSION_TWEAK}"
) set(DESKFLOW_VERSION_MS_CSV "${DESKFLOW_VERSION_MAJOR},${DESKFLOW_VERSION_MINOR},${DESKFLOW_VERSION_PATCH},${DESKFLOW_VERSION_TWEAK}")
set(DESKFLOW_VERSION_MS_CSV
"${DESKFLOW_VERSION_MAJOR},${DESKFLOW_VERSION_MINOR},${DESKFLOW_VERSION_PATCH},${DESKFLOW_VERSION_TWEAK}"
)
#Define our project #Define our project
project( project(