summaryrefslogtreecommitdiff
path: root/Source/cmVersion.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmVersion.h')
-rw-r--r--Source/cmVersion.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/Source/cmVersion.h b/Source/cmVersion.h
index e313524768..0ab639051e 100644
--- a/Source/cmVersion.h
+++ b/Source/cmVersion.h
@@ -32,8 +32,13 @@ public:
static const char* GetCMakeVersion();
};
+/* Encode with room for up to 1000 minor releases between major releases
+ and to encode dates until the year 10000 in the patch level. */
+#define CMake_VERSION_ENCODE__BASE cmIML_INT_UINT64_C(100000000)
#define CMake_VERSION_ENCODE(major, minor, patch) \
- ((major)*0x10000u + (minor)*0x100u + (patch))
+ ((((major) * 1000u) * CMake_VERSION_ENCODE__BASE) + \
+ (((minor) % 1000u) * CMake_VERSION_ENCODE__BASE) + \
+ (((patch) % CMake_VERSION_ENCODE__BASE)))
#endif