// 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 */