summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@theqtcompany.com>2016-05-27 13:59:39 +0200
committerChristian Kandeler <christian.kandeler@theqtcompany.com>2016-05-27 17:45:53 +0000
commitb4e11b191becd0f5e2c405d9cd65ecb098d3faec (patch)
tree74272e4631fae9f26b5e34579001bf796ee542bd
parentd89fc0bfeaecc367d88ac26e57e255a7ae1fb5fe (diff)
downloadqt-creator-b4e11b191becd0f5e2c405d9cd65ecb098d3faec.tar.gz
QbsProjectManager: Prevent transient build dirs from becoming permanent.
If "dry run" is enabled for the project resolving step, then the rule execution step needs it too. Task-number: QTCREATORBUG-16343 Change-Id: I6db7ad68b447299d2b4848f128a262e6097786d4 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectparser.cpp4
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectparser.h1
2 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/qbsprojectmanager/qbsprojectparser.cpp b/src/plugins/qbsprojectmanager/qbsprojectparser.cpp
index af53e1bce8..22fc1112d9 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectparser.cpp
+++ b/src/plugins/qbsprojectmanager/qbsprojectparser.cpp
@@ -93,7 +93,8 @@ void QbsProjectParser::parse(const QVariantMap &config, const Environment &env,
// Some people don't like it when files are created as a side effect of opening a project,
// so do not store the build graph if the build directory does not exist yet.
- params.setDryRun(!QFileInfo::exists(dir));
+ m_dryRun = !QFileInfo::exists(dir);
+ params.setDryRun(m_dryRun);
params.setBuildRoot(dir);
params.setProjectFilePath(m_projectFilePath);
@@ -151,6 +152,7 @@ void QbsProjectParser::handleQbsParsingDone(bool success)
void QbsProjectParser::startRuleExecution()
{
qbs::BuildOptions options;
+ options.setDryRun(m_dryRun);
options.setExecuteRulesOnly(true);
m_ruleExecutionJob = m_project.buildAllProducts(
options, qbs::Project::ProductSelectionWithNonDefault, this);
diff --git a/src/plugins/qbsprojectmanager/qbsprojectparser.h b/src/plugins/qbsprojectmanager/qbsprojectparser.h
index c00450e574..be008a4ef0 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectparser.h
+++ b/src/plugins/qbsprojectmanager/qbsprojectparser.h
@@ -75,6 +75,7 @@ private:
qbs::BuildJob *m_ruleExecutionJob;
qbs::ErrorInfo m_error;
qbs::Project m_project;
+ bool m_dryRun;
QFutureInterface<bool> *m_fi;
int m_currentProgressBase;