find_package(Git REQUIRED) if(DEFINED ENV{GITHUB_BRANCH_NAME}) set(GIT_BUILD_BRANCH $ENV{GITHUB_BRANCH_NAME}) set(GIT_COMMIT_HASH $ENV{GITHUB_HEAD_SHA}) else() set(GIT_COMMAND branch --show-current) execute_process( COMMAND ${GIT_EXECUTABLE} ${GIT_COMMAND} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE GIT_BUILD_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ERROR_IS_FATAL ANY ) set(GIT_COMMAND rev-parse HEAD) execute_process( COMMAND ${GIT_EXECUTABLE} ${GIT_COMMAND} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE GIT_COMMIT_HASH OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ERROR_IS_FATAL ANY ) endif() execute_process( COMMAND date +%Y%m%d%H%M%S WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE BUILD_DATE OUTPUT_STRIP_TRAILING_WHITESPACE COMMAND_ERROR_IS_FATAL ANY ) message(STATUS "Git branch: ${GIT_BUILD_BRANCH}") message(STATUS "Git commit hash: ${GIT_COMMIT_HASH}") message(STATUS "Build date: ${BUILD_DATE}") if( DEFINED ENV{FORCE_CLIO_VERSION} AND NOT "$ENV{FORCE_CLIO_VERSION}" STREQUAL "" ) message( STATUS "Using explicitly provided '${FORCE_CLIO_VERSION}' as Clio version" ) set(CLIO_VERSION "$ENV{FORCE_CLIO_VERSION}") set(DOC_CLIO_VERSION "$ENV{FORCE_CLIO_VERSION}") else() message( STATUS "Using 'YYYYMMDDHMS--' as Clio version" ) string(SUBSTRING ${GIT_COMMIT_HASH} 0 7 GIT_COMMIT_HASH_SHORT) set(CLIO_VERSION "${BUILD_DATE}-${GIT_BUILD_BRANCH}-${GIT_COMMIT_HASH_SHORT}" ) set(DOC_CLIO_VERSION "develop") endif() if(CMAKE_BUILD_TYPE MATCHES Debug) set(CLIO_VERSION "${CLIO_VERSION}+DEBUG") endif() message(STATUS "Build version: ${CLIO_VERSION}")