Autogenerate version.gen - no more outdated versions!
[quassel.git] / src / common / global.cpp
index 95f43e7..8941d5b 100644 (file)
@@ -88,24 +88,47 @@ void Global::registerMetaTypes() {
   qRegisterMetaType<NetworkId>("NetworkId");
   qRegisterMetaType<UserId>("UserId");
   qRegisterMetaType<AccountId>("AccountId");
+  qRegisterMetaType<MsgId>("MsgId");
 
   qRegisterMetaTypeStreamOperators<IdentityId>("IdentityId");
   qRegisterMetaTypeStreamOperators<BufferId>("BufferId");
   qRegisterMetaTypeStreamOperators<NetworkId>("NetworkId");
   qRegisterMetaTypeStreamOperators<UserId>("UserId");
   qRegisterMetaTypeStreamOperators<AccountId>("AccountId");
+  qRegisterMetaTypeStreamOperators<MsgId>("MsgId");
+}
+
+//! This includes version.inc and possibly version.gen and sets up our version numbers.
+void Global::setupVersion() {
+
+#  include "version.inc"
+#  ifdef HAVE_VERSION_GEN
+#    include "version.gen"
+#  endif
 
+  if(quasselGeneratedVersion.isEmpty()) {
+    quasselVersion = QString("v%1 (unknown rev)").arg(quasselBaseVersion);
+  } else {
+    QStringList parts = quasselGeneratedVersion.split(':');
+    quasselVersion = QString("v%1").arg(parts[0]);
+    if(parts.count() >= 2) quasselVersion.append(QString(" (%1)").arg(parts[1]));
+  }
+  quasselBuildDate = __DATE__;
+  quasselBuildTime = __TIME__;
 }
 
 // Static variables
 
 QString Global::quasselVersion;
-QString Global::quasselDate;
-uint Global::quasselBuild;
-uint Global::clientBuildNeeded;
-QString Global::clientVersionNeeded;
-uint Global::coreBuildNeeded;
-QString Global::coreVersionNeeded;
+QString Global::quasselBaseVersion;
+QString Global::quasselGeneratedVersion;
+QString Global::quasselBuildDate;
+QString Global::quasselBuildTime;
+uint Global::protocolVersion;
+uint Global::clientNeedsProtocol;
+uint Global::coreNeedsProtocol;
 
 Global::RunMode Global::runMode;
 uint Global::defaultPort;
+
+bool Global::DEBUG;