Adds git tag to git info

This commit is contained in:
2025-10-18 13:41:23 -04:00
parent 6c0d8bed38
commit 472988f256

View File

@@ -40,6 +40,27 @@ function(getBranchName OUTPUT_VARIABLE)
endif ()
endfunction()
function(getGitTag OUTPUT_VARIABLE)
find_package(Git QUIET)
if (GIT_FOUND)
execute_process(
COMMAND ${GIT_EXECUTABLE} describe --tags --always
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
OUTPUT_VARIABLE GIT_TAG
ERROR_VARIABLE GIT_ERROR
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_STRIP_TRAILING_WHITESPACE
)
if (NOT GIT_ERROR)
set(${OUTPUT_VARIABLE} ${GIT_TAG} PARENT_SCOPE)
else ()
set(${OUTPUT_VARIABLE} "unknown" PARENT_SCOPE)
endif ()
else ()
set(${OUTPUT_VARIABLE} "unknown" PARENT_SCOPE)
endif ()
endfunction()
function(addGitCommitDefine TARGET)
getCommitHash(GIT_HASH)
target_compile_definitions(${TARGET} PRIVATE FGL_GIT_COMMIT="${GIT_HASH}")
@@ -50,6 +71,11 @@ function(addGitBranchDefine TARGET)
target_compile_definitions(${TARGET} PRIVATE FGL_GIT_BRANCH="${GIT_BRANCH}")
endfunction()
function(addGitTagDefine TARGET)
getGitTag(GIT_TAG)
target_compile_definitions(${TARGET} PRIVATE FGL_GIT_TAG="${GIT_TAG}")
endfunction()
function(getIsDirty OUTPUT_VARIABLE)
find_package(Git QUIET)
if (GIT_FOUND)
@@ -78,10 +104,12 @@ endfunction()
function(addGitDirtyDefine TARGET)
getIsDirty(GIT_DIRTY)
target_compile_definitions(${TARGET} PRIVATE FGL_GIT_DIRTY=${GIT_DIRTY})
target_compile_definitions(${TARGET} PRIVATE FGL_GIT_IS_DIRTY=1)
endfunction()
function(AddGitInfo TARGET)
addGitCommitDefine(${TARGET})
addGitBranchDefine(${TARGET})
addGitDirtyDefine(${TARGET})
addGitTagDefine(${TARGET})
endfunction()