diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 02:54:50 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 02:54:50 +0000 |
commit | 451520af975c978c8ffaa1d9a0959b50c1b8e294 (patch) | |
tree | c2abdd80665f8494280a65417a9c21156ff41125 /cmake | |
parent | Adding upstream version 1.7.4. (diff) | |
download | ttyd-451520af975c978c8ffaa1d9a0959b50c1b8e294.tar.xz ttyd-451520af975c978c8ffaa1d9a0959b50c1b8e294.zip |
Adding upstream version 1.7.7.upstream/1.7.7upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'cmake')
-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() |