diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 02:54:51 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 02:54:51 +0000 |
commit | d83891d2823707ebcdd5b6ce505983c8cc305b0d (patch) | |
tree | 91be853b67b04aea4f09fb2b1063544865b79211 /cmake/GetGitVersion.cmake | |
parent | Releasing progress-linux version 1.7.4-1~progress7.99u1. (diff) | |
download | ttyd-d83891d2823707ebcdd5b6ce505983c8cc305b0d.tar.xz ttyd-d83891d2823707ebcdd5b6ce505983c8cc305b0d.zip |
Merging upstream version 1.7.7.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | cmake/GetGitVersion.cmake | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/cmake/GetGitVersion.cmake b/cmake/GetGitVersion.cmake new file mode 100644 index 0000000..6c8f6c8 --- /dev/null +++ b/cmake/GetGitVersion.cmake @@ -0,0 +1,47 @@ +find_package(Git) + +function(get_git_version var1 var2) + if(GIT_EXECUTABLE) + execute_process( + COMMAND ${GIT_EXECUTABLE} describe --tags --match "[0-9]*.[0-9]*.[0-9]*" --abbrev=8 + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + RESULT_VARIABLE status + OUTPUT_VARIABLE GIT_VERSION + ) + if (${status}) + set(GIT_VERSION "0.0.0") + else() + string(STRIP ${GIT_VERSION} GIT_VERSION) + string(REGEX REPLACE "-[0-9]+-g" "-" GIT_VERSION ${GIT_VERSION}) + endif() + else() + set(GIT_VERSION "0.0.0") + endif() + + string(REGEX MATCH "^[0-9]+.[0-9]+.[0-9]+" SEM_VER "${GIT_VERSION}") + + message("-- Git Tag: ${GIT_VERSION}, Sem Ver: ${SEM_VER}") + + set(${var1} ${GIT_VERSION} PARENT_SCOPE) + set(${var2} ${SEM_VER} PARENT_SCOPE) +endfunction() + +function(get_git_head var1) + if(GIT_EXECUTABLE) + execute_process( + COMMAND ${GIT_EXECUTABLE} --git-dir ${CMAKE_CURRENT_SOURCE_DIR}/.git rev-parse --short HEAD + RESULT_VARIABLE status + OUTPUT_VARIABLE GIT_COMMIT + OUTPUT_STRIP_TRAILING_WHITESPACE + ERROR_QUIET + ) + + if(${status}) + set(GIT_COMMIT "unknown") + endif() + + message("-- Git Commit: ${GIT_COMMIT}") + + set(${var1} ${GIT_COMMIT} PARENT_SCOPE) + endif() +endfunction() |