diff options
author | Dominic Hamon <dominichamon@users.noreply.github.com> | 2015-10-12 09:55:02 -0700 |
---|---|---|
committer | Dominic Hamon <dominichamon@users.noreply.github.com> | 2015-10-12 09:55:02 -0700 |
commit | 9b84ead0fb510b709fcd3f11fcf13f2112d75ac3 (patch) | |
tree | c70d10d5925b5932842565acb6e609cbfa9b5e5c | |
parent | 90e7cf000e0b7c62a13569fac481e514b6367d23 (diff) | |
parent | c06da04bcf28237a803fae1445e7589a4d5f6cd7 (diff) | |
download | google-benchmark-9b84ead0fb510b709fcd3f11fcf13f2112d75ac3.tar.gz |
Merge pull request #148 from DiracResearch/cmake-git-fix
Fixes #144 CMake fails without Git
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | CONTRIBUTORS | 1 | ||||
-rw-r--r-- | cmake/GetGitVersion.cmake | 24 |
3 files changed, 17 insertions, 9 deletions
@@ -24,3 +24,4 @@ Oleksandr Sochka <sasha.sochka@gmail.com> Paul Redmond <paul.redmond@gmail.com> Shuo Chen <chenshuo@chenshuo.com> Yusuke Suzuki <utatane.tea@gmail.com> +Dirac Research diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 42d713b..ea0f555 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -40,3 +40,4 @@ Paul Redmond <paul.redmond@gmail.com> Pierre Phaneuf <pphaneuf@google.com> Shuo Chen <chenshuo@chenshuo.com> Yusuke Suzuki <utatane.tea@gmail.com> +Tobias Ulvgård <tobias.ulvgard@dirac.se> 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 |