diff options
Diffstat (limited to 'cmake/GetGitVersion.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 |