Adds git tag to git info
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user