You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
994 B
34 lines
994 B
# SPDX-License-Identifier: Apache-2.0 |
|
|
|
include_guard(GLOBAL) |
|
|
|
find_package(Git QUIET) |
|
|
|
# Usage: |
|
# git_describe(<dir> <output>) |
|
# |
|
# Helper function to get a short GIT desciption associated with a directory. |
|
# OUTPUT is set to the output of `git describe --abbrev=12 --always` as run |
|
# from DIR. |
|
# |
|
function(git_describe DIR OUTPUT) |
|
if(GIT_FOUND) |
|
execute_process( |
|
COMMAND ${GIT_EXECUTABLE} describe --abbrev=12 --always |
|
WORKING_DIRECTORY ${DIR} |
|
OUTPUT_VARIABLE DESCRIPTION |
|
OUTPUT_STRIP_TRAILING_WHITESPACE |
|
ERROR_STRIP_TRAILING_WHITESPACE |
|
ERROR_VARIABLE stderr |
|
RESULT_VARIABLE return_code |
|
) |
|
if(return_code) |
|
message(STATUS "git describe failed: ${stderr}") |
|
elseif(NOT "${stderr}" STREQUAL "") |
|
message(STATUS "git describe warned: ${stderr}") |
|
else() |
|
# Save output |
|
set(${OUTPUT} ${DESCRIPTION} PARENT_SCOPE) |
|
endif() |
|
endif() |
|
endfunction()
|
|
|