forked from qt-creator/qt-creator
QtSupport: Pass kit to QmlDumpTool::pathAndEnvironment
Pass the complete kit to QmlDumpTool::pathAndEnvironment instead of just the Qt Version. That removes the need to guess at the toolchain used and makes sure we have a better environment set up. This also removes the need for BaseQtVersion::qmlToolsEnvironment() which played the toolchain guessing game. Change-Id: I4f4b9bb14b3ceb3892652901b459b53fcc4cb1ac Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
committed by
Tim Jenssen
parent
e4e6572661
commit
6871f31b4e
@@ -118,7 +118,7 @@ ModelManagerInterface::ProjectInfo ModelManager::defaultProjectInfoForProject(
|
||||
}
|
||||
|
||||
if (projectInfo.tryQmlDump) {
|
||||
QtSupport::QmlDumpTool::pathAndEnvironment(qtVersion,
|
||||
QtSupport::QmlDumpTool::pathAndEnvironment(activeKit,
|
||||
preferDebugDump, &projectInfo.qmlDumpPath,
|
||||
&projectInfo.qmlDumpEnvironment);
|
||||
projectInfo.qmlDumpHasRelocatableFlag = qtVersion->hasQmlDumpWithRelocatableFlag();
|
||||
|
@@ -1302,24 +1302,6 @@ bool BaseQtVersion::needsQmlDump() const
|
||||
return qtVersion() < QtVersionNumber(4, 8, 0);
|
||||
}
|
||||
|
||||
Environment BaseQtVersion::qmlToolsEnvironment() const
|
||||
{
|
||||
// FIXME: This seems broken!
|
||||
Environment environment = Environment::systemEnvironment();
|
||||
#if 0 // FIXME: Fix this!
|
||||
addToEnvironment(environment);
|
||||
#endif
|
||||
|
||||
// add preferred tool chain, as that is how the tools are built, compare QtVersion::buildDebuggingHelperLibrary
|
||||
if (!qtAbis().isEmpty()) {
|
||||
QList<ToolChain *> alltc = ToolChainManager::findToolChains(qtAbis().at(0));
|
||||
if (!alltc.isEmpty())
|
||||
alltc.first()->addToEnvironment(environment);
|
||||
}
|
||||
|
||||
return environment;
|
||||
}
|
||||
|
||||
QString BaseQtVersion::qmlDumpTool(bool debugVersion) const
|
||||
{
|
||||
const QString qtInstallBins = qmakeProperty("QT_INSTALL_BINS");
|
||||
|
@@ -194,7 +194,6 @@ public:
|
||||
virtual bool hasQmlDump() const;
|
||||
virtual bool hasQmlDumpWithRelocatableFlag() const;
|
||||
virtual bool needsQmlDump() const;
|
||||
Utils::Environment qmlToolsEnvironment() const;
|
||||
|
||||
virtual QtConfigWidget *createConfigurationWidget() const;
|
||||
|
||||
|
@@ -24,6 +24,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
#include "qmldumptool.h"
|
||||
#include "qtkitinformation.h"
|
||||
#include "qtsupportconstants.h"
|
||||
#include "qtversionmanager.h"
|
||||
|
||||
@@ -55,7 +56,7 @@ static inline QStringList validPrebuiltFilenames(bool debugBuild)
|
||||
return list;
|
||||
}
|
||||
|
||||
QString QmlDumpTool::toolForVersion(BaseQtVersion *version, bool debugDump)
|
||||
QString QmlDumpTool::toolForVersion(const BaseQtVersion *version, bool debugDump)
|
||||
{
|
||||
if (version) {
|
||||
const QString qtInstallBins = version->qmakeProperty("QT_INSTALL_BINS");
|
||||
@@ -79,9 +80,13 @@ QString QmlDumpTool::toolForQtPaths(const QString &qtInstallBins,
|
||||
return QString();
|
||||
}
|
||||
|
||||
void QmlDumpTool::pathAndEnvironment(BaseQtVersion *version,
|
||||
bool preferDebug, QString *dumperPath, Utils::Environment *env)
|
||||
void QmlDumpTool::pathAndEnvironment(const ProjectExplorer::Kit *k, bool preferDebug,
|
||||
QString *dumperPath, Utils::Environment *env)
|
||||
{
|
||||
if (!k)
|
||||
return;
|
||||
|
||||
const BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(k);
|
||||
if (version && !version->hasQmlDump())
|
||||
return;
|
||||
|
||||
@@ -104,7 +109,7 @@ void QmlDumpTool::pathAndEnvironment(BaseQtVersion *version,
|
||||
|
||||
if (!path.isEmpty() && version && dumperPath && env) {
|
||||
*dumperPath = path;
|
||||
*env = version->qmlToolsEnvironment();
|
||||
k->addToEnvironment(*env);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -29,6 +29,7 @@
|
||||
|
||||
#include <utils/buildablehelperlibrary.h>
|
||||
|
||||
namespace ProjectExplorer { class Kit; }
|
||||
namespace Utils { class Environment; }
|
||||
|
||||
namespace ProjectExplorer {
|
||||
@@ -42,12 +43,12 @@ class BaseQtVersion;
|
||||
class QTSUPPORT_EXPORT QmlDumpTool : public Utils::BuildableHelperLibrary
|
||||
{
|
||||
public:
|
||||
static QString toolForVersion(BaseQtVersion *version, bool debugDump);
|
||||
static QString toolForVersion(const BaseQtVersion *version, bool debugDump);
|
||||
static QString toolForQtPaths(const QString &qtInstallBins,
|
||||
bool debugDump);
|
||||
|
||||
static void pathAndEnvironment(BaseQtVersion *version,
|
||||
bool preferDebug, QString *path, Utils::Environment *env);
|
||||
static void pathAndEnvironment(const ProjectExplorer::Kit *k, bool preferDebug,
|
||||
QString *path, Utils::Environment *env);
|
||||
};
|
||||
|
||||
} // namespace
|
||||
|
Reference in New Issue
Block a user