gitinfo: Include branch name and origin URL

This commit is contained in:
Paweł Bylica 2018-08-07 16:23:43 +02:00
parent 79eab88a5e
commit 98a683e05e
No known key found for this signature in database
GPG Key ID: 7A0C037434FE77EF
2 changed files with 36 additions and 6 deletions

View File

@ -10,13 +10,16 @@ string(TIMESTAMP TIMESTAMP)
# Read the git info from a file. The gitinfo is suppose to update the file
# only if the information has changed.
file(READ ${OUTPUT_DIR}/gitinfo.txt GIT_INFO)
file(STRINGS ${OUTPUT_DIR}/gitinfo.txt gitinfo)
list(GET gitinfo 0 describe)
list(GET gitinfo 1 GIT_BRANCH)
list(GET gitinfo 2 GIT_ORIGIN_URL)
# The output of `git describe --always --long --tags --match=v*`.
string(REGEX MATCH "(v(.+)-([0-9]+)-g)?([0-9a-f]+)(-dirty)?" match "${GIT_INFO}")
string(REGEX MATCH "(v(.+)-([0-9]+)-g)?([0-9a-f]+)(-dirty)?" match "${describe}")
if(NOT match)
message(WARNING "Cannot parse git describe: ${GIT_INFO}")
message(WARNING "Cannot parse git describe: ${describe}")
endif()
set(GIT_LATEST_PROJECT_VERSION ${CMAKE_MATCH_2})

View File

@ -12,10 +12,37 @@ if(GIT)
ERROR_VARIABLE error
ERROR_STRIP_TRAILING_WHITESPACE
)
endif()
if(error)
message(WARNING "Git ${error}")
endif()
if(error)
message(WARNING "Git ${error}")
execute_process(
COMMAND ${GIT} rev-parse --abbrev-ref HEAD
WORKING_DIRECTORY ${SOURCE_DIR}
OUTPUT_VARIABLE gitbranch
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_VARIABLE error
ERROR_STRIP_TRAILING_WHITESPACE
)
if(error)
message(WARNING "Git ${error}")
else()
set(gitinfo "${gitinfo}\n${gitbranch}")
endif()
execute_process(
COMMAND ${GIT} config --get remote.origin.url
WORKING_DIRECTORY ${SOURCE_DIR}
OUTPUT_VARIABLE gitorigin
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_VARIABLE error
ERROR_STRIP_TRAILING_WHITESPACE
)
if(error)
message(WARNING "Git ${error}")
else()
set(gitinfo "${gitinfo}\n${gitorigin}\n")
endif()
endif()
set(gitinfo_file ${OUTPUT_DIR}/gitinfo.txt)