# Get the current working commit hash function(set_git_version) find_package(Git) if (Git_FOUND) execute_process ( COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE ALIB_GIT_COMMIT_HASH RESULT_VARIABLE RET_CODE OUTPUT_STRIP_TRAILING_WHITESPACE ) if("${RET_CODE}" STREQUAL "0") message ( "[Git] Commit hash '${ALIB_GIT_COMMIT_HASH}'" ) set ( ALIB_GIT_COMMIT_HASH ${ALIB_GIT_COMMIT_HASH} PARENT_SCOPE ) else() message ( "[Git] Commit hash not found ${RET_CODE}" ) endif() # Get the current working branch execute_process ( COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE ALIB_GIT_BRANCH RESULT_VARIABLE RET_CODE OUTPUT_STRIP_TRAILING_WHITESPACE ) if("${RET_CODE}" STREQUAL "0") message ( "[Git] Current branch '${ALIB_GIT_BRANCH}'" ) set ( ALIB_GIT_BRANCH ${ALIB_GIT_BRANCH} PARENT_SCOPE ) else() message ( "[Git] Current branch not found" ) endif() else() message ( "[Git] Git not found" ) endif() endfunction(set_git_version)