# Скрипт для генерации версии на основе git # Получаем ближайший тег execute_process( COMMAND git describe --tags --abbrev=0 WORKING_DIRECTORY ${SOURCE_DIR} OUTPUT_VARIABLE GIT_TAG ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE ) if(NOT GIT_TAG) set(GIT_TAG "none") endif() # Получаем текущую ветку execute_process( COMMAND git branch --show-current WORKING_DIRECTORY ${SOURCE_DIR} OUTPUT_VARIABLE GIT_BRANCH OUTPUT_STRIP_TRAILING_WHITESPACE ) # Получаем короткий хеш коммита execute_process( COMMAND git show -s --format=%h WORKING_DIRECTORY ${SOURCE_DIR} OUTPUT_VARIABLE GIT_HASH OUTPUT_STRIP_TRAILING_WHITESPACE ) # Формируем строку версии if(GIT_BRANCH STREQUAL "main") set(VERSION_STRING "${GIT_TAG} ${GIT_HASH}") else() set(VERSION_STRING "${GIT_TAG}-${GIT_BRANCH} ${GIT_HASH}") endif() # Генерируем заголовочный файл configure_file( ${SOURCE_DIR}/inc/jlv135_cli/version.h.in ${BINARY_DIR}/inc/jlv135_cli/version.h @ONLY )