- Копирование source/snag/version_.d в source/snag/version_.d.bak и каждый раз восстанавливается оригинальный файл при сборке через CMake - Добавлена параметризорванная возможность включения hash в версионирование по флагу GIT_HASH_VERSION
20 lines
675 B
CMake
20 lines
675 B
CMake
cmake_minimum_required(VERSION 3.6)
|
|
|
|
find_package(Git)
|
|
|
|
if(GIT_FOUND)
|
|
# Получаем короткий хэш текущего коммита
|
|
execute_process(
|
|
COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
|
OUTPUT_VARIABLE GIT_SHORT_HASH
|
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
|
)
|
|
# Проверяем, успешно ли получен хэш
|
|
if(GIT_SHORT_HASH)
|
|
message(STATUS "Git short hash: ${GIT_SHORT_HASH}")
|
|
set(GIT_VERSION_SUFFIX "-${GIT_SHORT_HASH}")
|
|
else()
|
|
message(WARNING "Failed to retrieve Git short hash")
|
|
endif()
|
|
endif()
|