CORE: added --version parameter to print the application version

master
Martin Gerhardy 2020-10-03 10:42:24 +02:00
parent dec65d1c78
commit 8c62271f32
3 changed files with 16 additions and 6 deletions

View File

@ -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")

View File

@ -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@"

View File

@ -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;