summaryrefslogtreecommitdiffstats
path: root/tools/configure
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@digia.com>2013-06-27 13:06:38 +0200
committerFrederik Gladhorn <frederik.gladhorn@digia.com>2013-06-27 13:06:38 +0200
commit572200989b224ad68e7b8ae4c0aecceb6ca871a2 (patch)
tree5591e8e6c17df64674aa79227ad6b70374c169ff /tools/configure
parent7ed024226faa9c53c6bad96fb6c9f38a22d25751 (diff)
parent241eca33ed45f112feed18c6256c31e606f47796 (diff)
Merge remote-tracking branch 'origin/stable' into dev
Conflicts: configure mkspecs/features/create_cmake.prf Change-Id: I94aea83b83833395d5db399209e0e51b92ef23b5
Diffstat (limited to 'tools/configure')
-rw-r--r--tools/configure/configureapp.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index cd5ed4caea..dfa89d36f9 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -375,6 +375,11 @@ QString Configure::firstLicensePath()
void Configure::parseCmdLine()
{
+ if (configCmdLine.size() && configCmdLine.at(0) == "-top-level") {
+ dictionary[ "TOPLEVEL" ] = "yes";
+ configCmdLine.removeAt(0);
+ }
+
int argCount = configCmdLine.size();
int i = 0;
const QStringList imageFormats = QStringList() << "gif" << "png" << "jpeg";
@@ -3956,15 +3961,17 @@ void Configure::generateMakefiles()
QString pwd = QDir::currentPath();
{
- QString dirName;
+ QString sourcePathMangled = sourcePath;
+ QString buildPathMangled = buildPath;
+ if (dictionary.contains("TOPLEVEL")) {
+ sourcePathMangled = QFileInfo(sourcePath).path();
+ buildPathMangled = QFileInfo(buildPath).path();
+ }
bool generate = true;
bool doDsp = (dictionary["VCPROJFILES"] == "yes"
&& dictionary["PROCESS"] == "full");
while (generate) {
- QString pwd = QDir::currentPath();
- QString dirPath = buildPath + dirName;
QStringList args;
-
args << buildPath + "/bin/qmake";
if (doDsp) {
@@ -3979,11 +3986,9 @@ void Configure::generateMakefiles()
}
if (dictionary[ "PROCESS" ] == "full")
args << "-r";
- args << (sourcePath + "/qtbase.pro");
- args << "-o";
- args << buildPath;
+ args << sourcePathMangled;
- QDir::setCurrent(dirPath);
+ QDir::setCurrent(buildPathMangled);
if (int exitCode = Environment::execute(args, QStringList(), QStringList())) {
cout << "Qmake failed, return code " << exitCode << endl << endl;
dictionary[ "DONE" ] = "error";