aboutsummaryrefslogtreecommitdiff
path: root/cmake/GetGitVersion.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/GetGitVersion.cmake')
-rw-r--r--cmake/GetGitVersion.cmake24
1 files changed, 15 insertions, 9 deletions
diff --git a/cmake/GetGitVersion.cmake b/cmake/GetGitVersion.cmake
index e017fa3..c49e308 100644
--- a/cmake/GetGitVersion.cmake
+++ b/cmake/GetGitVersion.cmake
@@ -10,7 +10,8 @@
# include(GetGitVersion)
# get_git_version(GIT_VERSION)
#
-# Requires CMake 2.6+
+# Requires CMake 2.8.11+
+find_package(Git)
if(__get_git_version)
return()
@@ -18,17 +19,22 @@ endif()
set(__get_git_version INCLUDED)
function(get_git_version var)
- execute_process(COMMAND git describe --match "v[0-9]*.[0-9]*.[0-9]*" --abbrev=8
- RESULT_VARIABLE status
- OUTPUT_VARIABLE GIT_VERSION
- ERROR_QUIET)
- if(${status})
- set(GIT_VERSION "v0.0.0")
+ if(GIT_EXECUTABLE)
+ execute_process(COMMAND git describe --match "v[0-9]*.[0-9]*.[0-9]*" --abbrev=8
+ RESULT_VARIABLE status
+ OUTPUT_VARIABLE GIT_VERSION
+ ERROR_QUIET)
+ if(${status})
+ set(GIT_VERSION "v0.0.0")
+ else()
+ string(STRIP ${GIT_VERSION} GIT_VERSION)
+ string(REGEX REPLACE "-[0-9]+-g" "-" GIT_VERSION ${GIT_VERSION})
+ endif()
else()
- string(STRIP ${GIT_VERSION} GIT_VERSION)
- string(REGEX REPLACE "-[0-9]+-g" "-" GIT_VERSION ${GIT_VERSION})
+ set(GIT_VERSION "v0.0.0")
endif()
+
# Work out if the repository is dirty
execute_process(COMMAND git update-index -q --refresh
OUTPUT_QUIET