Warning, /sdk/codevis/cmake/GetGitVersion.cmake is written in an unsupported language. File is not indexed.
0001 # - Returns a version string from Git tags
0002 #
0003 # This function inspects the annotated git tags for the project and returns a string
0004 # into a CMake variable
0005 #
0006 # get_git_version(<var>)
0007 #
0008 # - Example
0009 #
0010 # include(GetGitVersion)
0011 # get_git_version(GIT_VERSION)
0012
0013 find_package(Git)
0014 if(__get_git_version)
0015 return()
0016 endif()
0017 set(__get_git_version INCLUDED)
0018
0019 function(get_git_version var)
0020 execute_process(COMMAND ${GIT_EXECUTABLE} describe --match "v[0-9]*.[0-9]*.[0-9]*" --abbrev=8
0021 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
0022 RESULT_VARIABLE status
0023 OUTPUT_VARIABLE GIT_VERSION
0024 ERROR_QUIET)
0025
0026 if(${status})
0027 execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
0028 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
0029 RESULT_VARIABLE status
0030 OUTPUT_VARIABLE GIT_VERSION
0031 ERROR_QUIET)
0032 endif()
0033
0034 string(COMPARE EQUAL "${GIT_VERSION}" "" status)
0035 if (NOT ${status})
0036 string(STRIP ${GIT_VERSION} GIT_VERSION)
0037 else()
0038 set(GIT_VERSION "Unknown")
0039 endif()
0040
0041 message("-- git Version: ${GIT_VERSION}")
0042 set(${var} ${GIT_VERSION} PARENT_SCOPE)
0043 endfunction()
0044
0045 function(get_git_authors var)
0046 execute_process(COMMAND ${GIT_EXECUTABLE} --no-pager shortlog -sc --all
0047 WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
0048 OUTPUT_VARIABLE AUTHORS
0049 ERROR_QUIET)
0050
0051 string(REGEX REPLACE "\n" ";" AUTHORS "${AUTHORS}")
0052 set(OUTPUT_AUTHORS "")
0053 foreach(AUTHOR ${AUTHORS})
0054 string(STRIP ${AUTHOR} AUTHOR)
0055 string(REGEX REPLACE "[0-9]+" "" AUTHOR ${AUTHOR})
0056 string(STRIP ${AUTHOR} AUTHOR)
0057 SET(OUTPUT_AUTHORS "${OUTPUT_AUTHORS} \n ${AUTHOR}")
0058 endforeach()
0059 set(${var} ${OUTPUT_AUTHORS} PARENT_SCOPE)
0060 message("Found authors: " ${OUTPUT_AUTHORS})
0061 endfunction()