summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/configure/configureapp.cpp25
-rw-r--r--tools/configure/configureapp.h1
-rw-r--r--tools/configure/main.cpp2
3 files changed, 25 insertions, 3 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 67db7b3555..55ac3d997a 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -1018,6 +1018,20 @@ void Configure::parseCmdLine()
nobuildParts.append(configCmdLine.at(i));
}
+ else if (configCmdLine.at(i) == "-skip") {
+ ++i;
+ if (i == argCount)
+ break;
+ QString mod = configCmdLine.at(i);
+ if (!mod.startsWith(QStringLiteral("qt")))
+ mod.insert(0, QStringLiteral("qt"));
+ if (!QFileInfo(sourcePath + "/../" + mod).isDir()) {
+ cout << "Attempting to skip non-existent module " << mod << "." << endl;
+ dictionary["DONE"] = "error";
+ }
+ skipModules += mod;
+ }
+
// Directories ----------------------------------------------
else if (configCmdLine.at(i) == "-prefix") {
++i;
@@ -1660,6 +1674,8 @@ bool Configure::displayHelp()
desc( "", qPrintable(QString(" %1").arg(defaultBuildParts.at(i))), false, ' ');
desc( "-nomake <part>", "Exclude part from the list of parts to be built.\n");
+ desc( "-skip <module>", "Exclude an entire module from the build.\n");
+
desc("WIDGETS", "no", "-no-widgets", "Disable Qt Widgets module.\n");
desc("ACCESSIBILITY", "no", "-no-accessibility", "Disable accessibility support.\n");
@@ -2544,7 +2560,7 @@ void Configure::generateOutputVars()
qtConfig += "build_all";
}
if (dictionary[ "FORCEDEBUGINFO" ] == "yes")
- qtConfig += "force_debug_info";
+ qmakeConfig += "force_debug_info";
qmakeConfig += dictionary[ "BUILD" ];
dictionary[ "QMAKE_OUTDIR" ] = dictionary[ "BUILD" ];
@@ -2793,7 +2809,10 @@ void Configure::generateCachefile()
if (moduleFile.open(QFile::WriteOnly | QFile::Text)) { // Truncates any existing file.
QTextStream moduleStream(&moduleFile);
- moduleStream << "QT_BUILD_PARTS += " << buildParts.join(' ') << endl << endl;
+ moduleStream << "QT_BUILD_PARTS += " << buildParts.join(' ') << endl;
+ if (!skipModules.isEmpty())
+ moduleStream << "QT_SKIP_MODULES += " << skipModules.join(' ') << endl;
+ moduleStream << endl;
if (dictionary["QT_EDITION"] != "QT_EDITION_OPENSOURCE")
moduleStream << "DEFINES *= QT_EDITION=QT_EDITION_DESKTOP" << endl;
@@ -3445,7 +3464,7 @@ void Configure::displayConfig()
sout << "Libraries installed to......" << QDir::toNativeSeparators(dictionary["QT_INSTALL_LIBS"]) << endl;
sout << "Arch-dep. data to..........." << QDir::toNativeSeparators(dictionary["QT_INSTALL_ARCHDATA"]) << endl;
sout << "Plugins installed to........" << QDir::toNativeSeparators(dictionary["QT_INSTALL_PLUGINS"]) << endl;
- sout << "Library execs installed to.." << QDir::toNativeSeparators(dictionary["QT_INSTALL_LIBEXEC"]) << endl;
+ sout << "Library execs installed to.." << QDir::toNativeSeparators(dictionary["QT_INSTALL_LIBEXECS"]) << endl;
sout << "QML1 imports installed to..." << QDir::toNativeSeparators(dictionary["QT_INSTALL_IMPORTS"]) << endl;
sout << "QML2 imports installed to..." << QDir::toNativeSeparators(dictionary["QT_INSTALL_QML"]) << endl;
sout << "Binaries installed to......." << QDir::toNativeSeparators(dictionary["QT_INSTALL_BINS"]) << endl;
diff --git a/tools/configure/configureapp.h b/tools/configure/configureapp.h
index 271a384be7..3cb5de8520 100644
--- a/tools/configure/configureapp.h
+++ b/tools/configure/configureapp.h
@@ -116,6 +116,7 @@ private:
QStringList defaultBuildParts;
QStringList buildParts;
QStringList nobuildParts;
+ QStringList skipModules;
QStringList licensedModules;
QStringList allSqlDrivers;
QStringList allConfigs;
diff --git a/tools/configure/main.cpp b/tools/configure/main.cpp
index 1b402b1a59..c4154c8f38 100644
--- a/tools/configure/main.cpp
+++ b/tools/configure/main.cpp
@@ -58,6 +58,8 @@ int runConfigure( int argc, char** argv )
#if !defined(EVAL)
app.validateArgs();
#endif
+ if (!app.isOk())
+ return 3;
if( app.displayHelp() )
return 1;