| # 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() |