From bc28670a17bfcdd8fd64cb6d6de83160a3c6e3d6 Mon Sep 17 00:00:00 2001 From: dt <qtc-committer@nokia.com> Date: Wed, 11 Aug 2010 15:32:14 +0200 Subject: [PATCH] Fix always running of qmake --- src/plugins/qt4projectmanager/qmakestep.cpp | 41 +++++++++++-------- src/plugins/qt4projectmanager/qmakestep.h | 1 + .../qt4buildconfiguration.cpp | 4 +- 3 files changed, 29 insertions(+), 17 deletions(-) diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp index 37e061496f1..9f06947fe95 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 5c34e5da618..659af4e4f08 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 bb5c5d0c4f3..1e70599ebe0 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) { -- GitLab