Автоматизирован процесс получения версии программы из исходнго файла при сборке в пакет:
- Копирование source/snag/version_.d в source/snag/version_.d.bak и каждый раз восстанавливается оригинальный файл при сборке через CMake - Добавлена параметризорванная возможность включения hash в версионирование по флагу GIT_HASH_VERSION
This commit is contained in:
parent
4474cc5b7c
commit
d58ab81fd8
6 changed files with 53 additions and 32 deletions
|
|
@ -1,18 +1,15 @@
|
|||
cmake_minimum_required(VERSION 3.14)
|
||||
|
||||
project(snag)
|
||||
set(PROJECT_VERSION_MAJOR 0)
|
||||
set(PROJECT_VERSION_MINOR 1)
|
||||
set(PROJECT_VERSION_PATCH 0)
|
||||
string(TIMESTAMP PROJECT_VERSION_BUILD "%y%j.%H%M")
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
|
||||
include(snag_git)
|
||||
include(snag_version)
|
||||
string(TIMESTAMP PROJECT_VERSION_BUILD "%y%j.%H%M")
|
||||
if(GIT_HASH_VERSION)
|
||||
message(STATUS "GIT_HASH_VERSION is set")
|
||||
include(snag_git)
|
||||
endif()
|
||||
include(snag_platforms)
|
||||
set(PROJECT_VERSION_SUFFIX "-${GIT_VERSION_SUFFIX}")
|
||||
|
||||
# Overwrite suffix for Release or Release Candidate builds
|
||||
set(PROJECT_VERSION_SUFFIX "-alpha.1")
|
||||
set(CMAKE_BUILD_TYPE "Release")
|
||||
if(CMAKE_BUILD_TYPE)
|
||||
set(BUILD_TYPE ${CMAKE_BUILD_TYPE})
|
||||
|
|
@ -27,7 +24,7 @@ message(STATUS "PROJECT_VERSION_DISPLAY: ${PROJECT_VERSION_DISPLAY}")
|
|||
message(STATUS "")
|
||||
|
||||
# Deb package
|
||||
set(DEB_PACKAGE_VERSION "${PROJECT_VERSION_DISPLAY}${PROJECT_VERSION_SUFFIX}")
|
||||
set(DEB_PACKAGE_VERSION "${PROJECT_VERSION_DISPLAY}${PROJECT_VERSION_SUFFIX}${GIT_VERSION_SUFFIX}")
|
||||
if(PROJECT_VERSION_CODENAME)
|
||||
set(DEB_PACKAGE_VERSION "${DEB_PACKAGE_VERSION}-${PROJECT_VERSION_CODENAME}")
|
||||
endif()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue