From 8c62271f324b6f3fb0e8d1a44990c25b82276152 Mon Sep 17 00:00:00 2001 From: Martin Gerhardy Date: Sat, 3 Oct 2020 10:42:24 +0200 Subject: [PATCH] CORE: added --version parameter to print the application version --- CMakeLists.txt | 6 +++++- src/engine-config.h.in | 9 +++++---- src/modules/app/App.cpp | 7 ++++++- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6c15c0a1e..cc488ef38 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,10 @@ cmake_minimum_required(VERSION 3.10) include(CMakeLists.local OPTIONAL) -set(ROOT_PROJECT_VERSION 0.0.10.0) +set(ROOT_PROJECT_MAJOR_VERSION 0) +set(ROOT_PROJECT_MINOR_VERSION 0) +set(ROOT_PROJECT_MICRO_VERSION 10) +set(ROOT_PROJECT_PATCH_VERSION 0) +set(ROOT_PROJECT_VERSION "${ROOT_PROJECT_MAJOR_VERSION}.${ROOT_PROJECT_MINOR_VERSION}.${ROOT_PROJECT_MICRO_VERSION}.${ROOT_PROJECT_PATCH_VERSION}") set(ROOT_PROJECT_NAME vengi) project(${ROOT_PROJECT_NAME} VERSION ${ROOT_PROJECT_VERSION}) set(ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "Root dir") diff --git a/src/engine-config.h.in b/src/engine-config.h.in index 00a2054cb..8b960b48d 100644 --- a/src/engine-config.h.in +++ b/src/engine-config.h.in @@ -4,10 +4,11 @@ #pragma once -#define PROJECT_VERSION "@PROJECT_VERSION@" -#define PROJECT_VERSION_MAJOR "@PROJECT_VERSION_MAJOR@" -#define PROJECT_VERSION_MINOR "@PROJECT_VERSION_MINOR@" -#define PROJECT_VERSION_PATCH "@PROJECT_VERSION_PATCH@" +#define PROJECT_VERSION "@ROOT_PROJECT_VERSION@" +#define PROJECT_MAJOR_VERSION "@ROOT_PROJECT_MAJOR_VERSION@" +#define PROJECT_MINOR_VERSION "@ROOT_PROJECT_MINOR_VERSION@" +#define PROJECT_MICRO_VERSION "@ROOT_PROJECT_MICRO_VERSION@" +#define PROJECT_PATCH_VERSION "@ROOT_PROJECT_PATCH_VERSION@" #define HTTP_SERVER_PORT "@HTTP_SERVER_PORT@" #define SERVER_HOST "@SERVER_HOST@" diff --git a/src/modules/app/App.cpp b/src/modules/app/App.cpp index 4509c4e9f..e565caa3e 100644 --- a/src/modules/app/App.cpp +++ b/src/modules/app/App.cpp @@ -359,6 +359,10 @@ AppState App::onInit() { usage(); return AppState::Destroy; } + if (SDL_strcmp(_argv[i], "--version") == 0 || SDL_strcmp(_argv[i], "-v") == 0) { + Log::info("%s " PROJECT_VERSION, _appname.c_str()); + return AppState::Destroy; + } } core_trace_init(); @@ -421,7 +425,8 @@ void App::usage() const { const core::VarPtr& logLevel = core::Var::get(cfg::CoreLogLevel, ""); logLevel->setVal((int)Log::Level::Info); Log::init(); - Log::info("Usage: %s [--help] [-set configvar value] [-commandname]", _appname.c_str()); + Log::info("Version " PROJECT_VERSION); + Log::info("Usage: %s [--help] [--version] [-set configvar value] [-commandname]", _appname.c_str()); Log::info("------------"); int maxWidthLong = 0;