aboutsummaryrefslogtreecommitdiff
path: root/CMakeModules/GenerateSCMRev.cmake
diff options
context:
space:
mode:
authorAndrew Udvare <audvare@gmail.com>2021-12-20 19:13:07 -0500
committerAndrew Udvare <audvare@gmail.com>2021-12-20 19:13:07 -0500
commitcaf38725ae2802bdc71ea45c40c34635c5090dca (patch)
treeb15631de010afdacdab9ac503be4b5fd9ffa41d7 /CMakeModules/GenerateSCMRev.cmake
parente242f169864c1e6eae067bb1866b18bde6aeb3ac (diff)
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.
Diffstat (limited to 'CMakeModules/GenerateSCMRev.cmake')
-rw-r--r--CMakeModules/GenerateSCMRev.cmake12
1 files changed, 9 insertions, 3 deletions
diff --git a/CMakeModules/GenerateSCMRev.cmake b/CMakeModules/GenerateSCMRev.cmake
index 43ca730ece..c7da2b91d6 100644
--- a/CMakeModules/GenerateSCMRev.cmake
+++ b/CMakeModules/GenerateSCMRev.cmake
@@ -11,9 +11,15 @@ find_package(Git QUIET PATHS "${GIT_EXECUTABLE}")
# generate git/build information
include(GetGitRevisionDescription)
-get_git_head_revision(GIT_REF_SPEC GIT_REV)
-git_describe(GIT_DESC --always --long --dirty)
-git_branch_name(GIT_BRANCH)
+if(NOT GIT_REF_SPEC)
+ get_git_head_revision(GIT_REF_SPEC GIT_REV)
+endif()
+if(NOT GIT_DESC)
+ git_describe(GIT_DESC --always --long --dirty)
+endif()
+if (NOT GIT_BRANCH)
+ git_branch_name(GIT_BRANCH)
+endif()
get_timestamp(BUILD_DATE)
# Generate cpp with Git revision from template