summaryrefslogtreecommitdiffstats
path: root/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp')
-rw-r--r--src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp b/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp
index 672242d6655..0c35632e7b8 100644
--- a/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp
+++ b/src/tools/qdbusxml2cpp/qdbusxml2cpp.cpp
@@ -37,6 +37,7 @@ static bool verbose;
static bool includeMocs;
static QString commandLine;
static QStringList includes;
+static QStringList globalIncludes;
static QStringList wantedInterfaces;
static const char includeList[] =
@@ -459,6 +460,12 @@ static void writeProxy(const QString &filename, const QDBusIntrospection::Interf
cs << "#include \"" << include << "\"" << Qt::endl;
}
+ for (const QString &include : qAsConst(globalIncludes)) {
+ hs << "#include <" << include << ">" << Qt::endl;
+ if (headerName.isEmpty())
+ cs << "#include <" << include << ">" << Qt::endl;
+ }
+
hs << Qt::endl;
if (cppName != headerName) {
@@ -772,6 +779,12 @@ static void writeAdaptor(const QString &filename, const QDBusIntrospection::Inte
cs << "#include \"" << include << "\"" << Qt::endl;
}
+ for (const QString &include : qAsConst(globalIncludes)) {
+ hs << "#include <" << include << ">" << Qt::endl;
+ if (headerName.isEmpty())
+ cs << "#include <" << include << ">" << Qt::endl;
+ }
+
if (cppName != headerName) {
if (!headerName.isEmpty() && headerName != "-"_L1)
cs << "#include \"" << headerName << "\"" << Qt::endl;
@@ -1058,9 +1071,13 @@ int main(int argc, char **argv)
parser.addOption(classNameOption);
QCommandLineOption addIncludeOption(QStringList() << QStringLiteral("i") << QStringLiteral("include"),
- QStringLiteral("Add #include to the output"), QStringLiteral("filename"));
+ QStringLiteral("Add #include \"filename\" to the output"), QStringLiteral("filename"));
parser.addOption(addIncludeOption);
+ QCommandLineOption addGlobalIncludeOption(QStringList() << QStringLiteral("I") << QStringLiteral("global-include"),
+ QStringLiteral("Add #include <filename> to the output"), QStringLiteral("filename"));
+ parser.addOption(addGlobalIncludeOption);
+
QCommandLineOption adapterParentOption(QStringLiteral("l"),
QStringLiteral("When generating an adaptor, use <classname> as the parent class"), QStringLiteral("classname"));
parser.addOption(adapterParentOption);
@@ -1086,6 +1103,7 @@ int main(int argc, char **argv)
adaptorFile = parser.value(adapterCodeOption);
globalClassName = parser.value(classNameOption);
includes = parser.values(addIncludeOption);
+ globalIncludes = parser.values(addGlobalIncludeOption);
parentClassName = parser.value(adapterParentOption);
includeMocs = parser.isSet(mocIncludeOption);
skipNamespaces = parser.isSet(noNamespaceOption);