Prefer git archive generated version if any

This commit is contained in:
Alexander A. Klimov 2023-02-23 16:20:27 +01:00
parent a65f2d6b41
commit 9ea3534a51
3 changed files with 13 additions and 2 deletions

2
.git-archive-version Normal file
View file

@ -0,0 +1,2 @@
# Becomes like v2.13.0-555-g11e37a0bd if git-archived, is kept as-is otherwise
$Format:%(describe)$

3
.gitattributes vendored
View file

@ -1,2 +1,5 @@
debian/ export-ignore
.gitattributes export-ignore
# Include version information on `git archive'
/.git-archive-version export-subst

View file

@ -105,8 +105,14 @@ string(SUBSTRING ${SPEC_VERSION} 9 ${SPEC_VERSION_LENGTH} SPEC_VERSION)
configure_file(icinga-spec-version.h.cmake icinga-spec-version.h)
include(GetGitRevisionDescription)
git_describe(GIT_VERSION --tags)
file(STRINGS .git-archive-version GIT_ARCHIVE_VERSION REGEX "^[^#]")
if(GIT_ARCHIVE_VERSION MATCHES "Format")
include(GetGitRevisionDescription)
git_describe(GIT_VERSION --tags)
else()
set(GIT_VERSION "${GIT_ARCHIVE_VERSION}")
endif()
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/icinga-version.h.force)
configure_file(icinga-version.h.force ${CMAKE_CURRENT_BINARY_DIR}/icinga-version.h COPYONLY)
else()