summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRobin Burchell <robin.burchell@jollamobile.com>2013-11-28 11:37:11 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-30 20:49:41 +0100
commit2a76ef7e990404340f53cafbe4f85d8f124da0f1 (patch)
treeefc021614997715a411f02ab3146958608544dae /src
parentc6cf7520ecaf1c14b28436bafae27f2c52940081 (diff)
qdbusxml2cpp: Use the mtime on the input XML to avoid needless source changes.
These can cause rebuilds unnecessarily when repeatedly running qdbusxml2cpp. Change-Id: I902954d4bed6fe68802183e51d82700fe30af437 Reviewed-by: Mathias Hasselmann <mathias.hasselmann@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src')
-rw-r--r--src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp b/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp
index 6dd88824b5..560b58817e 100644
--- a/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp
+++ b/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp
@@ -43,6 +43,7 @@
#include <qdatetime.h>
#include <qdebug.h>
#include <qfile.h>
+#include <qfileinfo.h>
#include <qstring.h>
#include <qstringlist.h>
#include <qtextstream.h>
@@ -65,6 +66,7 @@ static QString parentClassName;
static QString proxyFile;
static QString adaptorFile;
static QString inputFile;
+static QDateTime classCreationTime;
static bool skipNamespaces;
static bool verbose;
static bool includeMocs;
@@ -216,10 +218,13 @@ static void parseCmdLine(QStringList args)
static QDBusIntrospection::Interfaces readInput()
{
QFile input(inputFile);
- if (inputFile.isEmpty() || inputFile == QLatin1String("-"))
+ if (inputFile.isEmpty() || inputFile == QLatin1String("-")) {
input.open(stdin, QIODevice::ReadOnly);
- else
+ classCreationTime = QDateTime::currentDateTime();
+ } else {
input.open(QIODevice::ReadOnly);
+ classCreationTime = QFileInfo(input).lastModified();
+ }
QByteArray data = input.readAll();
@@ -556,7 +561,7 @@ static void writeProxy(const QString &filename, const QDBusIntrospection::Interf
}
includeGuard = QString(QLatin1String("%1_%2"))
.arg(includeGuard)
- .arg(QDateTime::currentDateTime().toTime_t());
+ .arg(classCreationTime.toTime_t());
hs << "#ifndef " << includeGuard << endl
<< "#define " << includeGuard << endl
<< endl;