From fb99520c988f452dad7dc07751d2261f09c4b791 Mon Sep 17 00:00:00 2001 From: JF Date: Sat, 18 Jan 2020 14:50:24 +0100 Subject: [PATCH] Add version (major.minor.patch) in CMake files. Display the version on the display. --- CMakeLists.txt | 5 ++++- src/DisplayApp/DisplayApp.cpp | 6 ++++++ src/Version.h.in | 16 ++++++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/Version.h.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 4dc64ca4..eceb2122 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.15) -project(pinetime C CXX ASM) +project(pinetime VERSION 0.0.2 LANGUAGES C CXX ASM) set(NRF_TARGET "nrf52") @@ -33,6 +33,7 @@ endif() message("BUILD CONFIGURATION") message("-------------------") +message(" * Version : " ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}) message(" * Toolchain : " ${ARM_NONE_EABI_TOOLCHAIN_PATH}) message(" * NRF52 SDK : " ${NRF5_SDK_PATH}) set(PROGRAMMER "???") @@ -45,6 +46,8 @@ elseif(USE_GDB_CLIENT) message(" * GDB Target : " ${GDB_CLIENT_TARGET_REMOTE}) endif() +set(VERSION_EDIT_WARNING "// Do not edit this file, it is automatically generated by CMAKE!") +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/src/Version.h.in ${CMAKE_CURRENT_SOURCE_DIR}/src/Version.h) include("cmake-nRF5x/CMake_nRF5x.cmake") add_subdirectory(src) diff --git a/src/DisplayApp/DisplayApp.cpp b/src/DisplayApp/DisplayApp.cpp index fe7e68dc..f37cee98 100644 --- a/src/DisplayApp/DisplayApp.cpp +++ b/src/DisplayApp/DisplayApp.cpp @@ -12,6 +12,7 @@ #include #include #include +#include "../Version.h" using namespace Pinetime::Applications; @@ -105,6 +106,11 @@ void DisplayApp::InitHw() { gfx->DrawString(10, 0, 0x0000, "BLE", &smallFont, false); gfx->DrawString(20, 180, 0xffff, "", &smallFont, false); + char version[20]; + sprintf(version, "VERSION: %d.%d.%d", Version::Major(), Version::Minor(), Version::Patch()); + gfx->DrawString(20, 220, 0xffff, version, &smallFont, false); + + currentChar[0] = 0; currentChar[1] = 0; currentChar[2] = 0; diff --git a/src/Version.h.in b/src/Version.h.in new file mode 100644 index 00000000..c68a03ce --- /dev/null +++ b/src/Version.h.in @@ -0,0 +1,16 @@ +#pragma once + +@VERSION_EDIT_WARNING@ + +namespace Pinetime { + class Version { + public: + static uint32_t Major() {return major;} + static uint32_t Minor() {return minor;} + static uint32_t Patch() {return patch;} + private: + static constexpr uint32_t major = @PROJECT_VERSION_MAJOR@; + static constexpr uint32_t minor = @PROJECT_VERSION_MINOR@; + static constexpr uint32_t patch = @PROJECT_VERSION_PATCH@; + }; +} \ No newline at end of file