diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp index 37e061496f166d370bb8e0cfe970954ba59016c9..9f06947fe952abd646c03651802bb2581accc0a5 100644 --- a/src/plugins/qt4projectmanager/qmakestep.cpp +++ b/src/plugins/qt4projectmanager/qmakestep.cpp @@ -106,6 +106,31 @@ QStringList QMakeStep::allArguments() if (!additonalArguments.contains("-spec")) arguments << "-spec" << bc->qtVersion()->mkspec(); + // Find out what flags we pass on to qmake + QStringList addedUserConfigArguments; + QStringList removedUserConfigArguments; + bc->getConfigCommandLineArguments(&addedUserConfigArguments, &removedUserConfigArguments); + if (!removedUserConfigArguments.isEmpty()) { + foreach (const QString &removedConfig, removedUserConfigArguments) + arguments.append("CONFIG-=" + removedConfig); + } + if (!addedUserConfigArguments.isEmpty()) { + foreach (const QString &addedConfig, addedUserConfigArguments) + arguments.append("CONFIG+=" + addedConfig); + } + + arguments << moreArguments(); + + if (!additonalArguments.isEmpty()) + arguments << additonalArguments; + + return arguments; +} + +QStringList QMakeStep::moreArguments() +{ + Qt4BuildConfiguration *bc = qt4BuildConfiguration(); + QStringList arguments; #if defined(Q_OS_WIN) || defined(Q_OS_MAC) ToolChain::ToolChainType type = bc->toolChainType(); if (type == ToolChain::GCC_MAEMO) @@ -125,24 +150,8 @@ QStringList QMakeStep::allArguments() << QLatin1String("RCC_DIR=rcc"); } - // Find out what flags we pass on to qmake - QStringList addedUserConfigArguments; - QStringList removedUserConfigArguments; - bc->getConfigCommandLineArguments(&addedUserConfigArguments, &removedUserConfigArguments); - if (!removedUserConfigArguments.isEmpty()) { - foreach (const QString &removedConfig, removedUserConfigArguments) - arguments.append("CONFIG-=" + removedConfig); - } - if (!addedUserConfigArguments.isEmpty()) { - foreach (const QString &addedConfig, addedUserConfigArguments) - arguments.append("CONFIG+=" + addedConfig); - } - if (!additonalArguments.isEmpty()) - arguments << additonalArguments; - arguments << QLatin1String(Constants::QMAKEVAR_QMLINSPECTOR_PATH) + QLatin1Char('=') + Core::ICore::instance()->resourcePath() + QLatin1String("/qmljsdebugger"); - return arguments; } diff --git a/src/plugins/qt4projectmanager/qmakestep.h b/src/plugins/qt4projectmanager/qmakestep.h index 5c34e5da61870568254e2c9b8bf4dfe30f265aa1..659af4e4f084937939555d8454990fb3b26030a9 100644 --- a/src/plugins/qt4projectmanager/qmakestep.h +++ b/src/plugins/qt4projectmanager/qmakestep.h @@ -86,6 +86,7 @@ public: bool forced(); QStringList allArguments(); + QStringList moreArguments(); QStringList userArguments(); void setUserArguments(const QStringList &arguments); diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp index bb5c5d0c4f388e7f59fe219cffd1a8fee617563c..1e70599ebe0f19881058f9e4830290ac5245bf57 100644 --- a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp @@ -452,7 +452,9 @@ bool Qt4BuildConfiguration::compareToImportFrom(const QString &workingDirectory) QString parsedSpec = extractSpecFromArgumentList(result.second, workingDirectory, version); - QStringList actualArgs = removeSpecFromArgumentList(qs->userArguments()); + QStringList actualArgs = qs->moreArguments(); + actualArgs << qs->userArguments(); + actualArgs = removeSpecFromArgumentList(actualArgs); QStringList parsedArgs = removeSpecFromArgumentList(result.second); if (debug) {