aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qbsprojectmanager/qbsrunconfiguration.h
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-04-06 12:21:34 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-04-06 11:05:45 +0000
commit300afe8b8d3a919b2e4d7e5f30e9d4dfd341eb1d (patch)
tree5901080c7f1442d8ec5598ed34fe11212809acfa /src/plugins/qbsprojectmanager/qbsrunconfiguration.h
parentb9ae919cb75dbb029a29ef3a77694e097638ddfc (diff)
QbsProjectManager: Cache run environment
Setting up the qbs run environment is not free, and the respective code gets triggered from other plugins much more often than expected. Task-number: QTCREATORBUG-20175 Change-Id: I6529718d20738140963486caef103d6d17958d50 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/qbsprojectmanager/qbsrunconfiguration.h')
-rw-r--r--src/plugins/qbsprojectmanager/qbsrunconfiguration.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsrunconfiguration.h b/src/plugins/qbsprojectmanager/qbsrunconfiguration.h
index 9976121606..a0cf9506b3 100644
--- a/src/plugins/qbsprojectmanager/qbsrunconfiguration.h
+++ b/src/plugins/qbsprojectmanager/qbsrunconfiguration.h
@@ -28,7 +28,9 @@
#include <projectexplorer/runnables.h>
#include <QCheckBox>
+#include <QHash>
#include <QLabel>
+#include <QPair>
#include <QStringList>
#include <QWidget>
@@ -83,6 +85,9 @@ private:
void updateTarget();
+ using EnvCache = QHash<QPair<QStringList, bool>, Utils::Environment>;
+ mutable EnvCache m_envCache;
+
QbsInstallStep *m_currentInstallStep = nullptr; // We do not take ownership!
ProjectExplorer::BuildStepList *m_currentBuildStepList = nullptr; // We do not take ownership!
QString m_uniqueProductName;