0022698: Add OCC_VERSION_DEVELOPMENT definition in Standard_Version.hxx V6_5_3_beta1
authorabv <abv@opencascade.com>
Mon, 2 Apr 2012 11:00:32 +0000 (15:00 +0400)
committerabv <abv@opencascade.com>
Mon, 2 Apr 2012 11:00:32 +0000 (15:00 +0400)
New macros added to Standard_Version.hxx to identify OCC version more precisely:

- OCC_VERSION_DEVELOPMENT is to be defined as string in any version different from official release, to indicate that it is modified

- OCC_VERSION_COMPLETE is string form of the complete version number major.minor.maintenance

- OCC_VERSION_STRING_EXT is extended string for of the version equal to OCC_VERSION_COMPLETE and adding OCC_VERSION_DEVELOPMENT as suffix if it is defined

Version promoted to 6.5.3.beta1

src/Standard/Standard_Version.hxx

index 937fde9..8dc7217 100755 (executable)
 //            OCC_VERSION_MAJOR       : (integer) number identifying major version 
 //            OCC_VERSION_MINOR       : (integer) number identifying minor version 
 //            OCC_VERSION_MAINTENANCE : (integer) number identifying maintenance version 
-//            OCC_VERSION_DEVELOPMENT : (no value) if defined, identify development version.
+//            OCC_VERSION_DEVELOPMENT : (string)  if defined, indicates development or modified version
 //            OCC_VERSION             : (real)    complete number (major.minor)
-//            OCC_VERSION_STRING      : (string)  complete number ("major.minor")
+//            OCC_VERSION_STRING      : (string)  short version number ("major.minor")
+//            OCC_VERSION_COMPLETE    : (string)  complete version number ("major.minor.maintenance")
+//            OCC_VERSION_STRING_EXT  : (string)  extended version ("major.minor.maintenance.development")
 //            OCC_VERSION_HEX         : (hex)     complete number as hex, two positions per each of major, minor, and patch number 
 //            
 //======================================================================*/
 // Primary definitions
 #define OCC_VERSION_MAJOR         6
 #define OCC_VERSION_MINOR         5
-#define OCC_VERSION_MAINTENANCE   2
-#define OCC_VERSION_DEVELOPMENT // This line must be commented in any final version (release)
+#define OCC_VERSION_MAINTENANCE   3
 
-// Derived: version as real and string (major.minor)
-#define OCC_VERSION         6.5
-#define OCC_VERSION_STRING "6.5"
+//! This macro must be commented in official release, and set to non-empty 
+//! string in other situations, to identify specifics of the version, e.g.:
+//! - "dev" for official (certified) version (master branch) between releases
+//! - "beta..." or "rc..." for beta releases or release candidates
+//! - "project..." for version containing project-specific fixes
+#define OCC_VERSION_DEVELOPMENT   "beta1"
 
-// Derived: version as hex (0x0'major'0'minor'0'maintenance')
+// Derived (manually): version as real and string (major.minor)
+#define OCC_VERSION               6.5
+#define OCC_VERSION_STRING       "6.5"
+#define OCC_VERSION_COMPLETE     "6.5.3"
+
+//! Derived: extended version as string ("major.minor.maintenance.dev")
+#ifdef OCC_VERSION_DEVELOPMENT
+#define OCC_VERSION_STRING_EXT OCC_VERSION_COMPLETE "." OCC_VERSION_DEVELOPMENT
+#else
+#define OCC_VERSION_STRING_EXT OCC_VERSION_COMPLETE
+#endif
+
+// Derived: complete version as hex (0x0'major'0'minor'0'maintenance')
 #define OCC_VERSION_HEX    (OCC_VERSION_MAJOR << 16 | OCC_VERSION_MINOR << 8 | OCC_VERSION_MAINTENANCE)
 
 #endif  /* _Standard_Version_HeaderFile */