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}")