diff options
Diffstat (limited to 'tools/configure/configureapp.cpp')
-rw-r--r-- | tools/configure/configureapp.cpp | 30 |
1 files changed, 22 insertions, 8 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 5faaae50f8..62040db66f 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -176,6 +176,7 @@ Configure::Configure(int& argc, char** argv) } } + defaultBuildParts << QStringLiteral("libs") << QStringLiteral("examples") << QStringLiteral("tests"); dictionary[ "QT_SOURCE_TREE" ] = fixSeparators(sourcePath); dictionary[ "QT_BUILD_TREE" ] = fixSeparators(buildPath); dictionary[ "QT_INSTALL_PREFIX" ] = fixSeparators(installPath); @@ -933,11 +934,16 @@ void Configure::parseCmdLine() dictionary["LICENSE_CONFIRMED"] = "yes"; } - else if (configCmdLine.at(i) == "-nomake") { + else if (configCmdLine.at(i) == "-make") { + ++i; + if (i == argCount) + break; + buildParts += configCmdLine.at(i); + } else if (configCmdLine.at(i) == "-nomake") { ++i; if (i == argCount) break; - disabledBuildParts += configCmdLine.at(i); + nobuildParts.removeAll(configCmdLine.at(i)); } // Directories ---------------------------------------------- @@ -1046,7 +1052,7 @@ void Configure::parseCmdLine() dictionary[ "QT_HOST_DATA" ] = configCmdLine.at(i); } - else if (configCmdLine.at(i) == "-make") { + else if (configCmdLine.at(i) == "-make-tool") { ++i; if (i == argCount) break; @@ -1489,6 +1495,11 @@ bool Configure::displayHelp() "subdirectory targets. All other Makefiles are created as wrappers " "which will in turn run qmake\n"); + desc( "-make <part>", "Add part to the list of parts to be built at make time."); + for (int i=0; i<defaultBuildParts.size(); ++i) + desc( "", qPrintable(QString(" %1").arg(defaultBuildParts.at(i))), false, ' '); + desc( "-nomake <part>", "Exclude part from the list of parts to be built.\n"); + desc("EXCEPTIONS", "no", "-no-exceptions", "Disable exceptions on platforms that support it."); desc("EXCEPTIONS", "yes","-exceptions", "Enable exceptions on platforms that support it.\n"); @@ -2215,6 +2226,14 @@ void Configure::generateOutputVars() qmakeConfig += dictionary[ "BUILD" ]; dictionary[ "QMAKE_OUTDIR" ] = dictionary[ "BUILD" ]; + if (buildParts.isEmpty()) + buildParts = defaultBuildParts; + while (!nobuildParts.isEmpty()) + buildParts.removeAll(nobuildParts.takeFirst()); + if (!buildParts.contains("libs")) + buildParts += "libs"; + buildParts.removeDuplicates(); + if (dictionary["MSVC_MP"] == "yes") qmakeConfig += "msvc_mp"; @@ -2449,11 +2468,6 @@ void Configure::generateCachefile() moduleStream << "#paths" << endl; moduleStream << "QT_BUILD_TREE = " << fixSeparators(dictionary[ "QT_BUILD_TREE" ], true) << endl; moduleStream << "QT_SOURCE_TREE = " << fixSeparators(dictionary[ "QT_SOURCE_TREE" ], true) << endl; - QStringList buildParts; - buildParts << QStringLiteral("libs") << QStringLiteral("examples") << QStringLiteral("tests"); - foreach (const QString &item, disabledBuildParts) { - buildParts.removeAll(item); - } moduleStream << "QT_BUILD_PARTS = " << buildParts.join(" ") << endl << endl; //so that we can build without an install first (which would be impossible) |