[67] | 1 | /*! |
---|
| 2 | * \file version.h |
---|
[97] | 3 | * \author Copyright © 2007-2010 Lёppa <contacts[at]oleksii[dot]name> |
---|
[42] | 4 | * |
---|
[67] | 5 | * $Id: version.h 97 2010-03-02 23:55:23Z laleppa $ |
---|
| 6 | * $URL: https://tspsg.svn.sourceforge.net/svnroot/tspsg/trunk/src/version.h $ |
---|
| 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 3 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 | * \mainpage |
---|
[66] | 29 | * \image html tspsg.png |
---|
[64] | 30 | * <b>TSPSG: TSP Solver and Generator</b> |
---|
[97] | 31 | * \author Copyright © 2007-2010 Lёppa <contacts[at]oleksii[dot]name> |
---|
[64] | 32 | * |
---|
[97] | 33 | * \b Homepage: <a href="http://tspsg.sourceforge.net/">tspsg.sourceforge.net</a> |
---|
[42] | 34 | * |
---|
| 35 | * TSPSG is free software: you can redistribute it and/or modify |
---|
| 36 | * it under the terms of the GNU General Public License as published by |
---|
| 37 | * the Free Software Foundation, either version 3 of the License, or |
---|
| 38 | * (at your option) any later version. |
---|
| 39 | * |
---|
| 40 | * TSPSG is distributed in the hope that it will be useful, |
---|
| 41 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
| 42 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
| 43 | * GNU General Public License for more details. |
---|
| 44 | * |
---|
| 45 | * You should have received a copy of the GNU General Public License |
---|
| 46 | * along with TSPSG. If not, see <http://www.gnu.org/licenses/>. |
---|
| 47 | */ |
---|
| 48 | |
---|
| 49 | #ifndef VERSION_H |
---|
| 50 | #define VERSION_H |
---|
| 51 | |
---|
[97] | 52 | #ifndef BUILD_VERSION_MAJOR |
---|
| 53 | //! Major version of current TSPSG build |
---|
| 54 | #define BUILD_VERSION_MAJOR 0 |
---|
| 55 | #endif // BUILD_VERSION_MAJOR |
---|
| 56 | #ifndef BUILD_VERSION_MINOR |
---|
| 57 | //! Minor version of current TSPSG build |
---|
| 58 | #define BUILD_VERSION_MINOR 0 |
---|
| 59 | #endif // BUILD_VERSION_MINOR |
---|
[71] | 60 | /*! |
---|
| 61 | * \brief TSPSG release number |
---|
| 62 | * |
---|
| 63 | * Release number meanings: |
---|
| 64 | * - 1 -- 3: <b>alpha</b> 1 to 3 |
---|
| 65 | * - 4 -- 7: <b>beta</b> 1 to 4 |
---|
| 66 | * - 8 -- 10: <b>rc</b> 1 to 3 |
---|
| 67 | * - 11 -- x: <b>release</b> 1 to x-10 |
---|
| 68 | */ |
---|
[97] | 69 | #ifndef BUILD_RELEASE |
---|
| 70 | #define BUILD_RELEASE 0 |
---|
| 71 | #endif // BUILD_RELEASE |
---|
[64] | 72 | |
---|
| 73 | /*! |
---|
| 74 | * \brief Current TSPSG build number |
---|
| 75 | * |
---|
[71] | 76 | * This will only change on releases and will be the same as revision number. |
---|
[64] | 77 | */ |
---|
[97] | 78 | #ifndef BUILD_NUMBER |
---|
| 79 | #define BUILD_NUMBER 0 |
---|
| 80 | #endif // BUILD_NUMBER |
---|
[64] | 81 | |
---|
| 82 | /*! |
---|
| 83 | * \def BUILD_STATUS |
---|
| 84 | * \brief TSPSG build status |
---|
| 85 | * |
---|
[71] | 86 | * Determined based on BUILD_NUMBER and BUILD_RELEASE. |
---|
[64] | 87 | */ |
---|
[96] | 88 | #ifndef TSPSG_RELEASE_BUILD |
---|
[45] | 89 | #define BUILD_STATUS (dev build) |
---|
[97] | 90 | #elif BUILD_RELEASE < 4 |
---|
| 91 | #define BUILD_STATUS (alpha) |
---|
| 92 | #elif BUILD_RELEASE < 8 |
---|
| 93 | #define BUILD_STATUS (beta) |
---|
| 94 | #elif BUILD_RELEASE < 11 |
---|
| 95 | #define BUILD_STATUS (rc) |
---|
[96] | 96 | #endif // TSPSG_RELEASE_BUILD |
---|
[42] | 97 | |
---|
[66] | 98 | //! \internal \brief A helper for QUOTE(x). |
---|
| 99 | #define QUOTE_X(x) #x |
---|
[64] | 100 | //! Used for "conversion" of \a x to quoted string |
---|
[42] | 101 | #define QUOTE(x) QUOTE_X(x) |
---|
| 102 | |
---|
[64] | 103 | /*! |
---|
| 104 | * \def BUILD_VERSION |
---|
[97] | 105 | * \brief Full version of TSPSG in the form: \c major.minor.release.build [\c status]. |
---|
[64] | 106 | */ |
---|
[45] | 107 | #ifndef BUILD_STATUS |
---|
[96] | 108 | #define BUILD_VERSION QUOTE(BUILD_VERSION_MAJOR.BUILD_VERSION_MINOR.BUILD_RELEASE.BUILD_NUMBER) |
---|
[45] | 109 | #else |
---|
[96] | 110 | #define BUILD_VERSION QUOTE(BUILD_VERSION_MAJOR.BUILD_VERSION_MINOR.BUILD_RELEASE.BUILD_NUMBER BUILD_STATUS) |
---|
[45] | 111 | #endif |
---|
[42] | 112 | |
---|
| 113 | #endif // VERSION_H |
---|