From 0b5a848c3281b2a2f90e1bbc0799a69760cdafc1 Mon Sep 17 00:00:00 2001 From: Michael Fabian 'Xaymar' Dirks Date: Mon, 23 Apr 2018 17:52:40 +0200 Subject: [PATCH] cmake: Improve automatic versioning --- source/version.h.in | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/source/version.h.in b/source/version.h.in index ad8f51f3..a63453aa 100644 --- a/source/version.h.in +++ b/source/version.h.in @@ -18,8 +18,18 @@ */ #pragma once +#include -const uint16_t PLUGIN_VERSION_MAJOR = @VERSION_MAJOR@; -const uint16_t PLUGIN_VERSION_MINOR = @VERSION_MINOR@; -const uint32_t PLUGIN_VERSION_PATCH = @VERSION_PATCH@; +#define MAKE_VERSION(major,minor,patch,tweak) ((uint64_t(major) & 0xFFFFull) << 48ull) | ((uint64_t(minor) & 0xFFFFull) << 32ull) | ((uint64_t(patch) & 0xFFFFull) << 16ull) | ((uint64_t(patch) & 0xFFFFull)) + +const uint16_t PROJECT_VERSION_MAJOR = @PROJECT_VERSION_MAJOR@; +const uint16_t PROJECT_VERSION_MINOR = @PROJECT_VERSION_MINOR@; +const uint16_t PROJECT_VERSION_PATCH = @PROJECT_VERSION_PATCH@; +const uint16_t PROJECT_VERSION_TWEAK = @PROJECT_VERSION_TWEAK@; +const uint64_t PROJECT_VERSION = MAKE_VERSION(PROJECT_VERSION_MAJOR, PROJECT_VERSION_MINOR, PROJECT_VERSION_PATCH, PROJECT_VERSION_TWEAK); + +const uint16_t PLUGIN_VERSION_MAJOR = @PROJECT_VERSION_MAJOR@; +const uint16_t PLUGIN_VERSION_MINOR = @PROJECT_VERSION_MINOR@; +const uint16_t PLUGIN_VERSION_PATCH = @PROJECT_VERSION_PATCH@; +const uint16_t PLUGIN_VERSION_TWEAK = @PROJECT_VERSION_TWEAK@; const uint64_t PLUGIN_VERSION_FULL = (((uint64_t)(PLUGIN_VERSION_MAJOR & 0xFFFF) << 48ull) | ((uint64_t)(PLUGIN_VERSION_MINOR & 0xFFFF) << 32ull) | ((uint64_t)(PLUGIN_VERSION_PATCH) & 0xFFFFFFFF));