diff options
author | Tobias Ulvgard <tobias.ulvgard@dirac.se> | 2015-10-02 17:05:58 +0200 |
---|---|---|
committer | Anton Danielsson <anton.danielsson@dirac.se> | 2015-10-06 10:09:55 +0200 |
commit | 775ef51d04f3281b1b2ea857d7862470069aaf6a (patch) | |
tree | 37a44a944f8306f7aa8c2e583a9ed7d8f4f07f03 /cmake | |
parent | 414941295ee56ee0824f53070d4bec6b8b989038 (diff) | |
download | google-benchmark-775ef51d04f3281b1b2ea857d7862470069aaf6a.tar.gz |
CMake check for git on the system
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/GetGitVersion.cmake | 24 |
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 |