OpenMoHAA ..
Loading...
Searching...
No Matches
q_version.h
1/*
2===========================================================================
3Copyright (C) 2024 the OpenMoHAA team
4
5This file is part of OpenMoHAA source code.
6
7OpenMoHAA source code is free software; you can redistribute it
8and/or modify it under the terms of the GNU General Public License as
9published by the Free Software Foundation; either version 2 of the License,
10or (at your option) any later version.
11
12OpenMoHAA source code is distributed in the hope that it will be
13useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with OpenMoHAA source code; if not, write to the Free Software
19Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20===========================================================================
21*/
22
23// q_version.h -- file versioning
24
25#pragma once
26
27//
28// Version
29//
30// The version is defined in cmake/identity.cmake
31
32#include <q_version.generated.h>
33
34//
35// Generated version info
36//
37
38#ifdef GIT_REVISION_BUILD_NUMBER
39# define PRODUCT_VERSION_BUILD_NUMBER GIT_REVISION_BUILD_NUMBER
40#else
41# define PRODUCT_VERSION_BUILD_NUMBER 0
42#endif
43
44#ifdef GIT_BRANCH_NAME
45# define PRODUCT_VERSION_BRANCH GIT_BRANCH_NAME
46#endif
47
48#ifdef GIT_REVISION_HASH
49# define PRODUCT_VERSION_REVISION GIT_REVISION_HASH
50#endif
51
52#ifdef GIT_REVISION_HASH_ABBREVIATED
53# define PRODUCT_VERSION_REVISION_SHORT GIT_REVISION_HASH_ABBREVIATED
54#endif
55
56#ifdef GIT_REVISION_DATE
57# define PRODUCT_VERSION_DATE GIT_REVISION_DATE
58#else
59# define PRODUCT_VERSION_DATE __DATE__
60#endif
61
62#define Q3_VERSION PRODUCT_VERSION_FULL
63
64//
65// Version display
66//
67#define PRODUCT_VERSION_NUMBER_STRING XSTRING(PRODUCT_VERSION_MAJOR) "." XSTRING(PRODUCT_VERSION_MINOR) "." XSTRING(PRODUCT_VERSION_PATCH)
68
69#define PRODUCT_VERSION PRODUCT_VERSION_NUMBER_STRING
70
71#ifdef PRODUCT_VERSION_STAGE
72# define PRODUCT_VERSION_1 PRODUCT_VERSION "-" PRODUCT_VERSION_STAGE
73#else
74# define PRODUCT_VERSION_1 PRODUCT_VERSION
75#endif
76
77# define PRODUCT_VERSION_2 PRODUCT_VERSION_1 "+" XSTRING(PRODUCT_VERSION_BUILD_NUMBER)
78
79#ifdef PRODUCT_VERSION_REVISION
80# define PRODUCT_VERSION_3 PRODUCT_VERSION_2 "." PRODUCT_VERSION_REVISION_SHORT
81#else
82# define PRODUCT_VERSION_3 PRODUCT_VERSION_2
83#endif
84
85#define PRODUCT_VERSION_FULL PRODUCT_VERSION_3
86
87#define PRODUCT_NAME_FULL PRODUCT_NAME " - v" PRODUCT_VERSION_1
88
89/*
90//
91// Version
92//
93// These values are the only one that must be set for the version
94extern const unsigned int PRODUCT_VERISON_MAJOR;
95extern const unsigned int PRODUCT_VERISON_MINOR;
96extern const unsigned int PRODUCT_VERISON_PATCH;
97extern const char* PRODUCT_VERSION_STAGE;
98
99extern const char* PRODUCT_VERSION_BRANCH;
100extern const char* PRODUCT_VERSION_REVISION_HASH;
101extern const char* PRODUCT_VERSION_REVISION_DATE;
102*/