source: tspsg/src/version.h @ 7373d6357f

Last change on this file since 7373d6357f was b9167cec6d, checked in by Oleksii Serdiuk, 9 years ago

Update copyright years

  • Property mode set to 100644
File size: 2.5 KB
Line 
1/*!
2 * \file version.h
3 * \author Copyright &copy; 2007-2016 Oleksii Serdiuk <contacts[at]oleksii[dot]name>
4 *
5 *  $Id: $Format:%h %ai %an$ $
6 *  $URL: http://tspsg.info/ $
7 *
8 * \brief Contains TSPSG version information defines.
9 *
10 *  <b>TSPSG: TSP Solver and Generator</b>
11 *
12 *  This file is part of TSPSG.
13 *
14 *  TSPSG is free software: you can redistribute it and/or modify
15 *  it under the terms of the GNU General Public License as published by
16 *  the Free Software Foundation, either version 2 of the License, or
17 *  (at your option) any later version.
18 *
19 *  TSPSG is distributed in the hope that it will be useful,
20 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
21 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
22 *  GNU General Public License for more details.
23 *
24 *  You should have received a copy of the GNU General Public License
25 *  along with TSPSG.  If not, see <http://www.gnu.org/licenses/>.
26 */
27
28#ifndef VERSION_H
29#define VERSION_H
30
31#ifndef BUILD_VERSION_MAJOR
32    //! Major version of current TSPSG build
33#   define BUILD_VERSION_MAJOR 0
34#endif // BUILD_VERSION_MAJOR
35#ifndef BUILD_VERSION_MINOR
36    //! Minor version of current TSPSG build
37#   define BUILD_VERSION_MINOR 0
38#endif // BUILD_VERSION_MINOR
39#ifndef BUILD_RELEASE
40    //! TSPSG release number
41#   define BUILD_RELEASE 0
42#endif // BUILD_RELEASE
43
44#ifndef BUILD_NUMBER
45    //! Current TSPSG build number
46#   define BUILD_NUMBER 0
47#endif // BUILD_NUMBER
48
49/*!
50 * \def BUILD_STATUS_STR
51 * \brief TSPSG build status (e.g., alpha1, beta3)
52 */
53#ifdef DEBUG
54#   ifndef BUILD_STATUS
55#       define BUILD_STATUS_STR (debug build)
56#   else
57#       define BUILD_STATUS_STR (debug BUILD_STATUS)
58#   endif
59#else
60#   if !defined(TSPSG_RELEASE_BUILD)
61#       define BUILD_STATUS_STR (nightly build)
62#   elif !defined(BUILD_STATUS)
63#       define BUILD_STATUS_STR (build BUILD_NUMBER)
64#   else
65#       define BUILD_STATUS_STR (BUILD_STATUS)
66#   endif // TSPSG_RELEASE_BUILD
67#endif // DEBUG
68
69//! \internal \brief A helper for QUOTE(x).
70#define QUOTE_X(x) #x
71//! Used for "conversion" of \a x to quoted string
72#define QUOTE(x) QUOTE_X(x)
73
74//! Full version of TSPSG in the form: \c major.minor.release.build \c status.
75#define BUILD_VERSION QUOTE(BUILD_VERSION_MAJOR.BUILD_VERSION_MINOR.BUILD_RELEASE BUILD_STATUS_STR)
76
77/*!
78 * \def REVISION_STR
79 * \brief Git revision from which build was made
80 */
81#ifdef REVISION
82#   define REVISION_STR QUOTE(REVISION)
83#else
84#   define REVISION_STR "$Format:%H$"
85#endif
86
87#endif // VERSION_H
Note: See TracBrowser for help on using the repository browser.