mirror of
https://github.com/luanti-org/luanti.git
synced 2025-08-01 17:38:41 +00:00
Make Git version detection use VERSION_STRING instead of tags
This fixes the problem where 0.4.12-dev versions were erroneously shown as 0.4.11-dev because the tag was added on a separate branch. It also fixes a similar issue when builders didn't fetch new tags when updating. This also removes the number-of-commits-since-tag field, since it's incompatible with this. Said field doesn't seem to be useful anyway if you have the commit hash.
This commit is contained in:
parent
dfd790930c
commit
1be2d32fd5
4 changed files with 38 additions and 19 deletions
|
@ -1,28 +1,24 @@
|
|||
# Always run during 'make'
|
||||
|
||||
if(VERSION_EXTRA)
|
||||
set(VERSION_GITHASH "${VERSION_STRING}")
|
||||
else()
|
||||
execute_process(COMMAND git describe --tag --dirty
|
||||
if(DEVELOPMENT_BUILD)
|
||||
execute_process(COMMAND git rev-parse --short HEAD
|
||||
WORKING_DIRECTORY "${GENERATE_VERSION_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE VERSION_GITHASH OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_QUIET)
|
||||
|
||||
if(VERSION_GITHASH)
|
||||
message(STATUS "*** Detected Git version ${VERSION_GITHASH} ***")
|
||||
else()
|
||||
execute_process(COMMAND git describe --always --tag --dirty
|
||||
set(VERSION_GITHASH "${VERSION_STRING}-${VERSION_GITHASH}")
|
||||
execute_process(COMMAND git diff-index --quiet HEAD
|
||||
WORKING_DIRECTORY "${GENERATE_VERSION_SOURCE_DIR}"
|
||||
OUTPUT_VARIABLE VERSION_GITHASH OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
ERROR_QUIET)
|
||||
if(VERSION_GITHASH)
|
||||
set(VERSION_GITHASH "${VERSION_STRING}-${VERSION_GITHASH}")
|
||||
message(STATUS "*** Detected shallow Git version ${VERSION_GITHASH} ***")
|
||||
else()
|
||||
set(VERSION_GITHASH "${VERSION_STRING}")
|
||||
RESULT_VARIABLE IS_DIRTY)
|
||||
if(IS_DIRTY)
|
||||
set(VERSION_GITHASH "${VERSION_GITHASH}-dirty")
|
||||
endif()
|
||||
message(STATUS "*** Detected Git version ${VERSION_GITHASH} ***")
|
||||
endif()
|
||||
endif()
|
||||
if(NOT VERSION_GITHASH)
|
||||
set(VERSION_GITHASH "${VERSION_STRING}")
|
||||
endif()
|
||||
|
||||
configure_file(
|
||||
${GENERATE_VERSION_SOURCE_DIR}/cmake_config_githash.h.in
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue