summaryrefslogtreecommitdiff
path: root/Source/cmVersion.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2009-03-05 15:17:07 -0500
committerBrad King <brad.king@kitware.com>2009-03-05 15:17:07 -0500
commit98c51ff6dcd5e6aa80050cfc00f19eb6092e79c0 (patch)
tree8aabdbd5936493a3808cf1184620ebf08ef1d8ff /Source/cmVersion.h
parent83f39ba41b2c8969db2b44761d5fed363dc170b5 (diff)
downloadcmake-98c51ff6dcd5e6aa80050cfc00f19eb6092e79c0.tar.gz
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 29eb9d19bc..de92b4e7d6 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