aboutsummaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorTobias Ulvgard <tobias.ulvgard@dirac.se>2015-10-02 17:05:58 +0200
committerAnton Danielsson <anton.danielsson@dirac.se>2015-10-06 10:09:55 +0200
commit775ef51d04f3281b1b2ea857d7862470069aaf6a (patch)
tree37a44a944f8306f7aa8c2e583a9ed7d8f4f07f03 /cmake
parent414941295ee56ee0824f53070d4bec6b8b989038 (diff)
downloadgoogle-benchmark-775ef51d04f3281b1b2ea857d7862470069aaf6a.tar.gz
CMake check for git on the system
Diffstat (limited to '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