summaryrefslogtreecommitdiffstats
path: root/Source/cmVersion.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-03-05 20:17:07 (GMT)
committerBrad King <brad.king@kitware.com>2009-03-05 20:17:07 (GMT)
commit98c51ff6dcd5e6aa80050cfc00f19eb6092e79c0 (patch)
tree8aabdbd5936493a3808cf1184620ebf08ef1d8ff /Source/cmVersion.h
parent83f39ba41b2c8969db2b44761d5fed363dc170b5 (diff)
downloadCMake-98c51ff6dcd5e6aa80050cfc00f19eb6092e79c0.zip
CMake-98c51ff6dcd5e6aa80050cfc00f19eb6092e79c0.tar.gz
CMake-98c51ff6dcd5e6aa80050cfc00f19eb6092e79c0.tar.bz2
ENH: Overhaul CMake version numbering
This moves the version numbers into an isolated configured header so that not all of CMake needs to rebuild when the version changes. Previously we had spaces, dashes and/or the word 'patch' randomly chosen before the patch number. Now we always report version numbers in the traditional format "<major>.<minor>.<patch>[-rc<rc>]". We still use odd minor numbers for development versions. Now we also use the CCYYMMDD date as the patch number of development versions, thus allowing tests for exact CMake versions.
Diffstat (limited to 'Source/cmVersion.h')
-rw-r--r--Source/cmVersion.h12
1 files changed, 7 insertions, 5 deletions
diff --git a/Source/cmVersion.h b/Source/cmVersion.h
index 29eb9d1..de92b4e 100644
--- a/Source/cmVersion.h
+++ b/Source/cmVersion.h
@@ -30,12 +30,14 @@ public:
/**
* Return major and minor version numbers for cmake.
*/
- static unsigned int GetMajorVersion() { return CMake_VERSION_MAJOR; }
- static unsigned int GetMinorVersion() { return CMake_VERSION_MINOR; }
- static unsigned int GetPatchVersion() { return CMake_VERSION_PATCH; }
- static std::string GetReleaseVersion();
- static std::string GetCMakeVersion();
+ static unsigned int GetMajorVersion();
+ static unsigned int GetMinorVersion();
+ static unsigned int GetPatchVersion();
+ static const char* GetCMakeVersion();
};
+#define CMake_VERSION_ENCODE(major, minor, patch) \
+ ((major)*0x10000u + (minor)*0x100u + (patch))
+
#endif