Allow overriding SCM version info
If the build is from a non-repository, these functions will return empty. This patch allows using defines to CMake to set version info such as -DGIT_BRANCH=master.
This commit is contained in:
parent
e242f16986
commit
caf38725ae
2 changed files with 14 additions and 3 deletions
|
@ -11,9 +11,15 @@ find_package(Git QUIET PATHS "${GIT_EXECUTABLE}")
|
||||||
|
|
||||||
# generate git/build information
|
# generate git/build information
|
||||||
include(GetGitRevisionDescription)
|
include(GetGitRevisionDescription)
|
||||||
|
if(NOT GIT_REF_SPEC)
|
||||||
get_git_head_revision(GIT_REF_SPEC GIT_REV)
|
get_git_head_revision(GIT_REF_SPEC GIT_REV)
|
||||||
|
endif()
|
||||||
|
if(NOT GIT_DESC)
|
||||||
git_describe(GIT_DESC --always --long --dirty)
|
git_describe(GIT_DESC --always --long --dirty)
|
||||||
|
endif()
|
||||||
|
if (NOT GIT_BRANCH)
|
||||||
git_branch_name(GIT_BRANCH)
|
git_branch_name(GIT_BRANCH)
|
||||||
|
endif()
|
||||||
get_timestamp(BUILD_DATE)
|
get_timestamp(BUILD_DATE)
|
||||||
|
|
||||||
# Generate cpp with Git revision from template
|
# Generate cpp with Git revision from template
|
||||||
|
|
|
@ -22,6 +22,11 @@ add_custom_command(OUTPUT scm_rev.cpp
|
||||||
-DTITLE_BAR_FORMAT_RUNNING=${TITLE_BAR_FORMAT_RUNNING}
|
-DTITLE_BAR_FORMAT_RUNNING=${TITLE_BAR_FORMAT_RUNNING}
|
||||||
-DBUILD_TAG=${BUILD_TAG}
|
-DBUILD_TAG=${BUILD_TAG}
|
||||||
-DBUILD_ID=${DISPLAY_VERSION}
|
-DBUILD_ID=${DISPLAY_VERSION}
|
||||||
|
-DGIT_REF_SPEC=${GIT_REF_SPEC}
|
||||||
|
-DGIT_REV=${GIT_REV}
|
||||||
|
-DGIT_DESC=${GIT_DESC}
|
||||||
|
-DGIT_BRANCH=${GIT_BRANCH}
|
||||||
|
-DBUILD_FULLNAME=${BUILD_FULLNAME}
|
||||||
-DGIT_EXECUTABLE=${GIT_EXECUTABLE}
|
-DGIT_EXECUTABLE=${GIT_EXECUTABLE}
|
||||||
-P ${CMAKE_SOURCE_DIR}/CMakeModules/GenerateSCMRev.cmake
|
-P ${CMAKE_SOURCE_DIR}/CMakeModules/GenerateSCMRev.cmake
|
||||||
DEPENDS
|
DEPENDS
|
||||||
|
|
Loading…
Reference in a new issue