diff --git a/src/plugins/analyzerbase/analyzerstartparameters.h b/src/plugins/analyzerbase/analyzerstartparameters.h
index 5265e7099fa..68d6f61d2e1 100644
--- a/src/plugins/analyzerbase/analyzerstartparameters.h
+++ b/src/plugins/analyzerbase/analyzerstartparameters.h
@@ -63,6 +63,7 @@ public:
QString displayName;
Utils::Environment environment;
QString workingDirectory;
+ QString sysroot;
};
} // namespace Analyzer
diff --git a/src/plugins/qmlprofiler/qmlprofilerattachdialog.cpp b/src/plugins/qmlprofiler/qmlprofilerattachdialog.cpp
index a5f52a1751c..2933950bae7 100644
--- a/src/plugins/qmlprofiler/qmlprofilerattachdialog.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilerattachdialog.cpp
@@ -58,6 +58,11 @@ uint QmlProfilerAttachDialog::port() const
return ui->portSpinBox->value();
}
+QString QmlProfilerAttachDialog::sysroot() const
+{
+ return ui->sysrootChooser->path();
+}
+
void QmlProfilerAttachDialog::setAddress(const QString &address)
{
ui->addressLineEdit->setText(address);
@@ -68,5 +73,10 @@ void QmlProfilerAttachDialog::setPort(uint port)
ui->portSpinBox->setValue(port);
}
+void QmlProfilerAttachDialog::setSysroot(const QString &sysroot)
+{
+ ui->sysrootChooser->setPath(sysroot);
+}
+
} // namespace Internal
} // namespace QmlProfiler
diff --git a/src/plugins/qmlprofiler/qmlprofilerattachdialog.h b/src/plugins/qmlprofiler/qmlprofilerattachdialog.h
index 400e4d89375..b351d49c2d3 100644
--- a/src/plugins/qmlprofiler/qmlprofilerattachdialog.h
+++ b/src/plugins/qmlprofiler/qmlprofilerattachdialog.h
@@ -52,9 +52,11 @@ public:
QString address() const;
uint port() const;
+ QString sysroot() const;
void setAddress(const QString &address);
void setPort(uint port);
+ void setSysroot(const QString &sysroot);
private:
Ui::QmlProfilerAttachDialog *ui;
diff --git a/src/plugins/qmlprofiler/qmlprofilerattachdialog.ui b/src/plugins/qmlprofiler/qmlprofilerattachdialog.ui
index 7d74b39e3fe..c920c4d160e 100644
--- a/src/plugins/qmlprofiler/qmlprofilerattachdialog.ui
+++ b/src/plugins/qmlprofiler/qmlprofilerattachdialog.ui
@@ -6,8 +6,8 @@
0
0
- 185
- 115
+ 203
+ 136
@@ -56,6 +56,19 @@
+ -
+
+
+ Sys&root:
+
+
+ sysrootChooser
+
+
+
+ -
+
+
-
@@ -70,6 +83,14 @@
+
+
+ Utils::PathChooser
+ QWidget
+
+ 1
+
+
diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp
index d17c6f50f9b..7ac3bd86bb8 100644
--- a/src/plugins/qmlprofiler/qmlprofilertool.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp
@@ -120,6 +120,7 @@ public:
QString m_tcpHost;
quint64 m_tcpPort;
QString m_ostDevice;
+ QString m_sysroot;
};
QmlProfilerTool::QmlProfilerTool(QObject *parent)
@@ -254,6 +255,8 @@ IAnalyzerEngine *QmlProfilerTool::createEngine(const AnalyzerStartParameters &sp
connect(d->m_project, SIGNAL(fileListChanged()), this, SLOT(updateProjectFileList()));
}
+ d->m_projectFinder.setSysroot(sp.sysroot);
+
connect(engine, SIGNAL(processRunning(int)), this, SLOT(connectClient(int)));
connect(engine, SIGNAL(finished()), this, SLOT(disconnectClient()));
connect(engine, SIGNAL(finished()), this, SLOT(correctTimer()));
@@ -509,6 +512,7 @@ static void startRemoteTool(IAnalyzerTool *tool, StartMode mode)
sp.startMode = mode;
sp.connParams.host = dialog.address();
sp.connParams.port = dialog.port();
+ sp.sysroot = dialog.sysroot();
AnalyzerRunControl *rc = new AnalyzerRunControl(tool, sp, 0);
QObject::connect(AnalyzerManager::stopAction(), SIGNAL(triggered()), rc, SLOT(stopIt()));