FIFE  2008.0
 All Classes Namespaces Functions Variables Enumerations Enumerator Pages
version.h
1 /***************************************************************************
2  * Copyright (C) 2005-2012 by the FIFE team *
3  * http://www.fifengine.net *
4  * This file is part of FIFE. *
5  * *
6  * FIFE is free software; you can redistribute it and/or *
7  * modify it under the terms of the GNU Lesser General Public *
8  * License as published by the Free Software Foundation; either *
9  * version 2.1 of the License, or (at your option) any later version. *
10  * *
11  * This library is distributed in the hope that it will be useful, *
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
14  * Lesser General Public License for more details. *
15  * *
16  * You should have received a copy of the GNU Lesser General Public *
17  * License along with this library; if not, write to the *
18  * Free Software Foundation, Inc., *
19  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
20  ***************************************************************************/
21 
22 #ifndef FIFE_VERSION_H
23 #define FIFE_VERSION_H
24 
25 // These version numbers should be checked and updated
26 // as part of the release process for FIFE.
27 #define FIFE_MAJOR_VERSION 0
28 #define FIFE_MINOR_VERSION 3
29 #define FIFE_SUBMINOR_VERSION 3
30 
31 // -------------------------------------------------------------------------
32 // Do not update anything below this line!
33 // -------------------------------------------------------------------------
34 
35 #define FIFE_STR(s) # s
36 #define FIFE_XSTR(s) FIFE_STR(s)
37 
38 #define FIFE_DOT(a,b) a ## . ## b
39 #define FIFE_XDOT(a,b) FIFE_DOT(a,b)
40 
41 #define FIFE_VERSION_STRING \
42  FIFE_XDOT( \
43  FIFE_XDOT(FIFE_MAJOR_VERSION, FIFE_MINOR_VERSION), \
44  FIFE_SUBMINOR_VERSION \
45  )
46 
47 namespace FIFE {
48  inline const char* getVersion() {
49  return FIFE_XSTR(FIFE_VERSION_STRING);
50  }
51 
52  inline int getMajor() {
53  return FIFE_MAJOR_VERSION;
54  }
55 
56  inline int getMinor() {
57  return FIFE_MINOR_VERSION;
58  }
59 
60  inline int getSubMinor() {
61  return FIFE_SUBMINOR_VERSION;
62  }
63 
64  inline int getRevision() {
65 #ifdef FIFE_REVISION
66  return FIFE_REVISION;
67 #else
68  return 0;
69 #endif
70  }
71 } //FIFE
72 
73 //cleanup
74 #undef FIFE_STR
75 #undef FIFE_XSTR
76 #undef FIFE_DOT
77 #undef FIFE_XDOT
78 #undef FIFE_VERSION_STRING
79 
80 #endif //FIFE_VERSION_H
81