Automatically generate a more informative version string.

This commit is contained in:
Jim Evins
2018-12-04 22:56:51 -05:00
parent 8942101a18
commit 7e142bb57d
3 changed files with 40 additions and 10 deletions
+37 -7
View File
@@ -12,18 +12,48 @@ set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/"
#======================================= #=======================================
# Packaging and Version Information # Version Information
#======================================= #=======================================
set (Website "glabels.org") set (WEBSITE "glabels.org")
set (CPACK_PACKAGE_VENDOR ${Website})
execute_process(
COMMAND git log -1 --format=%h
RESULT_VARIABLE COMMIT_HASH_VALID
OUTPUT_VARIABLE COMMIT_HASH
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if (NOT ${COMMIT_HASH_VALID} STREQUAL "0")
set (COMMIT_HASH "exported")
endif ()
execute_process(
COMMAND git log -1 --format=%cd --date=short
RESULT_VARIABLE COMMIT_DATE_VALID
OUTPUT_VARIABLE COMMIT_DATE
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if (NOT ${COMMIT_DATE_VALID} STREQUAL "0")
string (TIMESTAMP COMMIT_DATE %Y-%m-%d)
endif ()
# Uncomment for snapshots, comment for releases
set(VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}-snapshot (${COMMIT_HASH} ${COMMIT_DATE})")
# Uncomment for releases, comment for snapshots
#set(VERSION_STRING "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
#=======================================
# Packaging Information
#=======================================
set (CPACK_PACKAGE_VENDOR ${WEBSITE})
set (CPACK_PACKAGE_NAME glabels) set (CPACK_PACKAGE_NAME glabels)
string (TIMESTAMP _date "%Y%m%d")
set (CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR}) set (CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set (CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR}) set (CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
set (CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH}) set (CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
set (CPACK_PACKAGE_VERSION_TWEAK ${_date}) set (CPACK_PACKAGE_VERSION_TWEAK ${COMMIT_HASH})
set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "gLabels Label Designer") set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "gLabels Label Designer")
set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING") set (CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
@@ -32,7 +62,7 @@ set (CPACK_PACKAGE_EXECUTABLES "glabels-qt;gLabels")
set (CPACK_CREATE_DESKTOP_LINKS "glabels-qt") set (CPACK_CREATE_DESKTOP_LINKS "glabels-qt")
set (CPACK_NSIS_DISPLAY_NAME "gLabels") set (CPACK_NSIS_DISPLAY_NAME "gLabels")
set (CPACK_NSIS_URL_INFO_ABOUT "http://${Website}") set (CPACK_NSIS_URL_INFO_ABOUT "http://${WEBSITE}")
set (CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}/glabels/windows-icon/glabels.ico") set (CPACK_NSIS_MUI_ICON "${CMAKE_CURRENT_SOURCE_DIR}/glabels/windows-icon/glabels.ico")
set (CPACK_NSIS_MODIFY_PATH "ON") set (CPACK_NSIS_MODIFY_PATH "ON")
@@ -111,7 +141,7 @@ add_subdirectory (data)
#======================================= #=======================================
message (STATUS "") message (STATUS "")
message (STATUS "Project name ............ " ${CMAKE_PROJECT_NAME}) message (STATUS "Project name ............ " ${CMAKE_PROJECT_NAME})
message (STATUS "Project version ......... " ${Full_Version}) message (STATUS "Project version ......... " ${VERSION_STRING})
message (STATUS "Installation prefix ..... " ${CMAKE_INSTALL_PREFIX}) message (STATUS "Installation prefix ..... " ${CMAKE_INSTALL_PREFIX})
message (STATUS "Source code location .... " ${glabels_SOURCE_DIR}) message (STATUS "Source code location .... " ${glabels_SOURCE_DIR})
message (STATUS "C++ Compiler ............ " ${CMAKE_CXX_COMPILER_ID} " " ${CMAKE_CXX_COMPILER} " " ${CMAKE_CXX_COMPILER_VERSION}) message (STATUS "C++ Compiler ............ " ${CMAKE_CXX_COMPILER_ID} " " ${CMAKE_CXX_COMPILER} " " ${CMAKE_CXX_COMPILER_VERSION})
+1 -1
View File
@@ -42,7 +42,7 @@ namespace glabels
QString description = tr("A program to create labels and business cards."); QString description = tr("A program to create labels and business cards.");
QString copyright = "Copyright &copy; 2017 Jim Evins <evins@snaught.com>"; QString copyright = "Copyright &copy; 2018 Jim Evins <evins@snaught.com>";
QString licenseParagraph1 = QString licenseParagraph1 =
tr( "gLabels is free software: you can redistribute it and/or modify " tr( "gLabels is free software: you can redistribute it and/or modify "
+2 -2
View File
@@ -29,13 +29,13 @@ namespace glabels
namespace Version namespace Version
{ {
const QString WEBSITE = "http://@Website@"; const QString WEBSITE = "http://@WEBSITE@";
const int MAJOR = @glabels-qt_VERSION_MAJOR@; const int MAJOR = @glabels-qt_VERSION_MAJOR@;
const int MINOR = @glabels-qt_VERSION_MINOR@; const int MINOR = @glabels-qt_VERSION_MINOR@;
const int MICRO = @glabels-qt_VERSION_PATCH@; const int MICRO = @glabels-qt_VERSION_PATCH@;
const QString STRING = "@glabels-qt_VERSION@"; const QString STRING = "@VERSION_STRING@";
} }
} }