X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcommon%2Fgenversion.cpp;h=02a7a5eedf1175fdd6148b8c3253d99d361b20fa;hb=92789e6323ca73383a7954d834ecfc093234f5e2;hp=e8e75f9f9c340ebf029b096ffbf289567f4c0983;hpb=c8f0fad36b10552494f8ec3c3a45b52a3f0d2663;p=quassel.git diff --git a/src/common/genversion.cpp b/src/common/genversion.cpp index e8e75f9f..02a7a5ee 100644 --- a/src/common/genversion.cpp +++ b/src/common/genversion.cpp @@ -37,7 +37,7 @@ int main(int argc, char **argv) { } QString gitroot = argv[1]; QString target = argv[2]; - QString version; + QString version, commit, archivetime; if(QFile::exists(gitroot + "/.git")) { // try to execute git-describe to get a version string @@ -68,19 +68,25 @@ int main(int argc, char **argv) { // hmm, Git failed... let's check for version.dist instead QFile dist(gitroot + "/version.dist"); if(dist.open(QIODevice::ReadOnly | QIODevice::Text)) { - version = dist.readAll(); + QRegExp rxCommit("(^[0-9a-f]+)"); + QRegExp rxTimestamp("(^[0-9]+)"); + if(rxCommit.indexIn(dist.readLine()) > -1) commit = rxCommit.cap(1); + if(rxTimestamp.indexIn(dist.readLine()) > -1) archivetime = rxTimestamp.cap(1); dist.close(); } } // ok, create our version.gen now QFile gen(target); if(!gen.open(QIODevice::WriteOnly | QIODevice::Text)) { - qFatal(QString("Could not write %1!").arg(target).toAscii()); + qFatal("%s", qPrintable(QString("Could not write %1!").arg(target))); return 255; } gen.write(QString("quasselGeneratedVersion = \"%1\";\n" "quasselBuildDate = \"%2\";\n" - "quasselBuildTime = \"%3\";\n").arg(version).arg(__DATE__).arg(__TIME__).toAscii()); + "quasselBuildTime = \"%3\";\n" + "quasselCommit = \"%4\";\n" + "quasselArchiveDate = %5;\n") + .arg(version).arg(__DATE__).arg(__TIME__).arg(commit).arg(archivetime.toUInt()).toAscii()); gen.close(); return EXIT_SUCCESS; }