projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SASL support
[quassel.git]
/
src
/
common
/
genversion.cpp
diff --git
a/src/common/genversion.cpp
b/src/common/genversion.cpp
index
946e500
..
904e971
100644
(file)
--- a/
src/common/genversion.cpp
+++ b/
src/common/genversion.cpp
@@
-100,14
+100,23
@@
int main(int argc, char **argv) {
verfile.close();
}
verfile.close();
}
- // ok, create our version.gen now
+ // generate the contents for version.gen
+ QByteArray contents = QString("QString buildinfo = \"%1,%2,%3,%4,%5,%6,%7,%8\";\n")
+ .arg(basever, descrver, dirty, committish, commitdate, protover, clientneeds, coreneeds)
+ .toAscii();
+
QFile gen(target);
QFile gen(target);
- if(!gen.open(QIODevice::
WriteOnly
| QIODevice::Text)) {
+ if(!gen.open(QIODevice::
ReadWrite
| QIODevice::Text)) {
qFatal("%s", qPrintable(QString("Could not write %1!").arg(target)));
return EXIT_FAILURE;
}
qFatal("%s", qPrintable(QString("Could not write %1!").arg(target)));
return EXIT_FAILURE;
}
- gen.write(QString("QString buildinfo = \"%1,%2,%3,%4,%5,%6,%7,%8\";\n")
- .arg(basever, descrver, dirty, committish, commitdate, protover, clientneeds, coreneeds).toAscii());
+ QByteArray oldContents = gen.readAll();
+ if(oldContents != contents) { // only touch the file if something changed
+ gen.seek(0);
+ gen.write(contents);
+ gen.waitForBytesWritten(10000);
+ }
gen.close();
gen.close();
+
return EXIT_SUCCESS;
}
return EXIT_SUCCESS;
}