mirror of
https://github.com/tsl0922/ttyd.git
synced 2026-01-04 18:04:22 +01:00
cmake: get version from git ref
This commit is contained in:
47
cmake/GetGitVersion.cmake
Normal file
47
cmake/GetGitVersion.cmake
Normal file
@@ -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()
|
||||
Reference in New Issue
Block a user