summaryrefslogtreecommitdiff
path: root/src/plugins/qbsprojectmanager
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2013-12-10 12:53:20 +0100
committerErik Verbruggen <erik.verbruggen@digia.com>2013-12-10 12:53:20 +0100
commit9f831dde07cb2411808534e76669b28a1b76e21d (patch)
treeed6252d64c9a3ab27aa93786272cda1b6008f3c7 /src/plugins/qbsprojectmanager
parentcdac81f896ef4b052d76f96485a08e6ec13696b8 (diff)
parentea1a92484ac99057b06130a012164bf9788650e9 (diff)
downloadqt-creator-wip/clang.tar.gz
Merge remote-tracking branch 'origin/master' into wip/clangwip/clang
Change-Id: I8a2c8068a3f2b15034fb1bf6304c9a0f3f0e3c8f
Diffstat (limited to 'src/plugins/qbsprojectmanager')
-rw-r--r--src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp27
-rw-r--r--src/plugins/qbsprojectmanager/qbsbuildstep.cpp29
-rw-r--r--src/plugins/qbsprojectmanager/qbsbuildstep.h3
-rw-r--r--src/plugins/qbsprojectmanager/qbsbuildstepconfigwidget.ui7
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.cpp14
-rw-r--r--src/plugins/qbsprojectmanager/qbsproject.h3
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectmanager.pro4
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectmanager.qbs4
-rw-r--r--src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp2
-rw-r--r--src/plugins/qbsprojectmanager/qbsstep.cpp242
-rw-r--r--src/plugins/qbsprojectmanager/qbsstep.h108
11 files changed, 79 insertions, 364 deletions
diff --git a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp
index 853227da67..ca3ccfa16d 100644
--- a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp
+++ b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp
@@ -95,9 +95,19 @@ QVariantMap DefaultPropertyProvider::properties(const ProjectExplorer::Kit *k, c
? QStringList() << QLatin1String("mingw") << QLatin1String("gcc")
: QStringList() << QLatin1String("msvc"));
} else if (targetAbi.os() == ProjectExplorer::Abi::MacOS) {
- data.insert(QLatin1String(QBS_TARGETOS), QStringList() << QLatin1String("osx")
- << QLatin1String("darwin") << QLatin1String("bsd4")
- << QLatin1String("bsd") << QLatin1String("unix"));
+ const char IOSQT[] = "Qt4ProjectManager.QtVersion.Ios"; // from Ios::Constants (include header?)
+ if (qt && qt->type() == QLatin1String(IOSQT)) {
+ QStringList targetOS;
+ if (targetAbi.architecture() == ProjectExplorer::Abi::X86Architecture)
+ targetOS << QLatin1String("ios-simulator");
+ targetOS << QLatin1String("ios") << QLatin1String("darwin")
+ << QLatin1String("bsd4") << QLatin1String("bsd") << QLatin1String("unix");
+ data.insert(QLatin1String(QBS_TARGETOS), targetOS);
+ } else {
+ data.insert(QLatin1String(QBS_TARGETOS), QStringList() << QLatin1String("osx")
+ << QLatin1String("darwin") << QLatin1String("bsd4")
+ << QLatin1String("bsd") << QLatin1String("unix"));
+ }
if (tc->type() != QLatin1String("clang")) {
data.insert(QLatin1String(QBS_TOOLCHAIN), QLatin1String("gcc"));
} else {
@@ -117,6 +127,17 @@ QVariantMap DefaultPropertyProvider::properties(const ProjectExplorer::Kit *k, c
<< QLatin1String("llvm")
<< QLatin1String("gcc"));
}
+ } else {
+ // TODO: Factor out toolchain type setting.
+ data.insert(QLatin1String(QBS_TARGETOS), QStringList() << QLatin1String("unix"));
+ if (tc->type() != QLatin1String("clang")) {
+ data.insert(QLatin1String(QBS_TOOLCHAIN), QLatin1String("gcc"));
+ } else {
+ data.insert(QLatin1String(QBS_TOOLCHAIN),
+ QStringList() << QLatin1String("clang")
+ << QLatin1String("llvm")
+ << QLatin1String("gcc"));
+ }
}
Utils::FileName cxx = tc->compilerCommand();
data.insert(QLatin1String(CPP_TOOLCHAINPATH), cxx.toFileInfo().absolutePath());
diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
index 66e7802111..c087d334a6 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
+++ b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
@@ -50,6 +50,7 @@
static const char QBS_CONFIG[] = "Qbs.Configuration";
static const char QBS_DRY_RUN[] = "Qbs.DryRun";
static const char QBS_KEEP_GOING[] = "Qbs.DryKeepGoing";
+static const char QBS_CHECK_TIMESTAMPS[] = "Qbs.CheckTimestamps";
static const char QBS_MAXJOBCOUNT[] = "Qbs.MaxJobs";
// --------------------------------------------------------------------
@@ -69,6 +70,7 @@ QbsBuildStep::QbsBuildStep(ProjectExplorer::BuildStepList *bsl) :
{
setDisplayName(tr("Qbs Build"));
setQbsConfiguration(QVariantMap());
+ m_qbsBuildOptions.setForceTimestampCheck(true);
}
QbsBuildStep::QbsBuildStep(ProjectExplorer::BuildStepList *bsl, const QbsBuildStep *other) :
@@ -194,6 +196,11 @@ bool QbsBuildStep::keepGoing() const
return m_qbsBuildOptions.keepGoing();
}
+bool QbsBuildStep::checkTimestamps() const
+{
+ return m_qbsBuildOptions.forceTimestampCheck();
+}
+
int QbsBuildStep::maxJobs() const
{
if (m_qbsBuildOptions.maxJobCount() > 0)
@@ -209,6 +216,7 @@ bool QbsBuildStep::fromMap(const QVariantMap &map)
setQbsConfiguration(map.value(QLatin1String(QBS_CONFIG)).toMap());
m_qbsBuildOptions.setDryRun(map.value(QLatin1String(QBS_DRY_RUN)).toBool());
m_qbsBuildOptions.setKeepGoing(map.value(QLatin1String(QBS_KEEP_GOING)).toBool());
+ m_qbsBuildOptions.setForceTimestampCheck(map.value(QLatin1String(QBS_CHECK_TIMESTAMPS), true).toBool());
m_qbsBuildOptions.setMaxJobCount(map.value(QLatin1String(QBS_MAXJOBCOUNT)).toInt());
return true;
}
@@ -219,6 +227,7 @@ QVariantMap QbsBuildStep::toMap() const
map.insert(QLatin1String(QBS_CONFIG), m_qbsConfiguration);
map.insert(QLatin1String(QBS_DRY_RUN), m_qbsBuildOptions.dryRun());
map.insert(QLatin1String(QBS_KEEP_GOING), m_qbsBuildOptions.keepGoing());
+ map.insert(QLatin1String(QBS_CHECK_TIMESTAMPS), m_qbsBuildOptions.forceTimestampCheck());
map.insert(QLatin1String(QBS_MAXJOBCOUNT), m_qbsBuildOptions.maxJobCount());
return map;
}
@@ -333,6 +342,14 @@ void QbsBuildStep::setKeepGoing(bool kg)
emit qbsBuildOptionsChanged();
}
+void QbsBuildStep::setCheckTimestamps(bool ts)
+{
+ if (m_qbsBuildOptions.forceTimestampCheck() == ts)
+ return;
+ m_qbsBuildOptions.setForceTimestampCheck(ts);
+ emit qbsBuildOptionsChanged();
+}
+
void QbsBuildStep::setMaxJobs(int jobcount)
{
if (m_qbsBuildOptions.maxJobCount() == jobcount)
@@ -362,6 +379,8 @@ QbsBuildStepConfigWidget::QbsBuildStepConfigWidget(QbsBuildStep *step) :
this, SLOT(changeBuildVariant(int)));
connect(m_ui->dryRunCheckBox, SIGNAL(toggled(bool)), this, SLOT(changeDryRun(bool)));
connect(m_ui->keepGoingCheckBox, SIGNAL(toggled(bool)), this, SLOT(changeKeepGoing(bool)));
+ connect(m_ui->checkTimestampCheckBox, SIGNAL(toggled(bool)),
+ this, SLOT(changeCheckTimestamps(bool)));
connect(m_ui->jobSpinBox, SIGNAL(valueChanged(int)), this, SLOT(changeJobCount(int)));
connect(m_ui->propertyEdit, SIGNAL(propertiesChanged()), this, SLOT(changeProperties()));
connect(m_ui->qmlDebuggingLibraryCheckBox, SIGNAL(toggled(bool)),
@@ -386,6 +405,7 @@ void QbsBuildStepConfigWidget::updateState()
if (!m_ignoreChange) {
m_ui->dryRunCheckBox->setChecked(m_step->dryRun());
m_ui->keepGoingCheckBox->setChecked(m_step->keepGoing());
+ m_ui->checkTimestampCheckBox->setChecked(m_step->checkTimestamps());
m_ui->jobSpinBox->setValue(m_step->maxJobs());
updatePropertyEdit(m_step->qbsConfiguration());
m_ui->qmlDebuggingLibraryCheckBox->setChecked(m_step->isQmlDebuggingEnabled());
@@ -402,6 +422,8 @@ void QbsBuildStepConfigWidget::updateState()
command += QLatin1String("--dry-run ");
if (m_step->keepGoing())
command += QLatin1String("--keep-going ");
+ if (m_step->checkTimestamps())
+ command += QLatin1String("--check-timestamps ");
command += QString::fromLatin1("--jobs %1 ").arg(m_step->maxJobs());
command += QString::fromLatin1("%1 profile:%2").arg(buildVariant, m_step->profile());
@@ -480,6 +502,13 @@ void QbsBuildStepConfigWidget::changeKeepGoing(bool kg)
m_ignoreChange = false;
}
+void QbsBuildStepConfigWidget::changeCheckTimestamps(bool ts)
+{
+ m_ignoreChange = true;
+ m_step->setCheckTimestamps(ts);
+ m_ignoreChange = false;
+}
+
void QbsBuildStepConfigWidget::changeJobCount(int count)
{
m_ignoreChange = true;
diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.h b/src/plugins/qbsprojectmanager/qbsbuildstep.h
index f1ec50f67b..ba123fb5e8 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildstep.h
+++ b/src/plugins/qbsprojectmanager/qbsbuildstep.h
@@ -65,6 +65,7 @@ public:
bool dryRun() const;
bool keepGoing() const;
+ bool checkTimestamps() const;
int maxJobs() const;
QString buildVariant() const;
@@ -93,6 +94,7 @@ private:
void setDryRun(bool dr);
void setKeepGoing(bool kg);
+ void setCheckTimestamps(bool ts);
void setMaxJobs(int jobcount);
QVariantMap m_qbsConfiguration;
@@ -129,6 +131,7 @@ private slots:
void changeBuildVariant(int);
void changeDryRun(bool dr);
void changeKeepGoing(bool kg);
+ void changeCheckTimestamps(bool ts);
void changeJobCount(int count);
void changeProperties();
diff --git a/src/plugins/qbsprojectmanager/qbsbuildstepconfigwidget.ui b/src/plugins/qbsprojectmanager/qbsbuildstepconfigwidget.ui
index d527af4f96..52767a8103 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildstepconfigwidget.ui
+++ b/src/plugins/qbsprojectmanager/qbsbuildstepconfigwidget.ui
@@ -168,6 +168,13 @@
</widget>
</item>
<item>
+ <widget class="QCheckBox" name="checkTimestampCheckBox">
+ <property name="text">
+ <string>Check timestamps</string>
+ </property>
+ </widget>
+ </item>
+ <item>
<spacer name="checkBoxSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
diff --git a/src/plugins/qbsprojectmanager/qbsproject.cpp b/src/plugins/qbsprojectmanager/qbsproject.cpp
index 9c4184c539..29340aae58 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.cpp
+++ b/src/plugins/qbsprojectmanager/qbsproject.cpp
@@ -112,7 +112,7 @@ QbsProject::QbsProject(QbsManager *manager, const QString &fileName) :
this, SLOT(targetWasAdded(ProjectExplorer::Target*)));
connect(this, SIGNAL(environmentChanged()), this, SLOT(delayParsing()));
- connect(&m_parsingDelay, SIGNAL(timeout()), this, SLOT(parseCurrentBuildConfiguration()));
+ connect(&m_parsingDelay, SIGNAL(timeout()), this, SLOT(startParsing()));
updateDocuments(QSet<QString>() << fileName);
@@ -357,6 +357,11 @@ void QbsProject::buildConfigurationChanged(BuildConfiguration *bc)
}
}
+void QbsProject::startParsing()
+{
+ parseCurrentBuildConfiguration(false);
+}
+
void QbsProject::delayParsing()
{
m_parsingDelay.start();
@@ -368,10 +373,13 @@ void QbsProject::delayForcedParsing()
delayParsing();
}
-void QbsProject::parseCurrentBuildConfiguration()
+void QbsProject::parseCurrentBuildConfiguration(bool force)
{
m_parsingDelay.stop();
+ if (!m_forceParsing)
+ m_forceParsing = force;
+
if (!activeTarget())
return;
QbsBuildConfiguration *bc = qobject_cast<QbsBuildConfiguration *>(activeTarget()->activeBuildConfiguration());
@@ -635,7 +643,7 @@ void QbsProject::updateCppCodeModel(const qbs::ProjectData &prj)
part->includePaths += grpIncludePaths;
part->frameworkPaths += grpFrameworkPaths;
part->precompiledHeaders = QStringList(pch);
- part->defines += grpDefines;
+ part->projectDefines += grpDefines;
pinfo.appendProjectPart(part);
}
}
diff --git a/src/plugins/qbsprojectmanager/qbsproject.h b/src/plugins/qbsprojectmanager/qbsproject.h
index d43ead569c..d113684a93 100644
--- a/src/plugins/qbsprojectmanager/qbsproject.h
+++ b/src/plugins/qbsprojectmanager/qbsproject.h
@@ -90,6 +90,7 @@ public:
QString profileForTarget(const ProjectExplorer::Target *t) const;
bool isParsing() const;
bool hasParseResult() const;
+ void parseCurrentBuildConfiguration(bool force);
Utils::FileName defaultBuildDirectory() const;
static Utils::FileName defaultBuildDirectory(const QString &path);
@@ -101,7 +102,6 @@ public:
public slots:
void invalidate();
- void parseCurrentBuildConfiguration();
void delayParsing();
void delayForcedParsing();
@@ -117,6 +117,7 @@ private slots:
void targetWasAdded(ProjectExplorer::Target *t);
void changeActiveTarget(ProjectExplorer::Target *t);
void buildConfigurationChanged(ProjectExplorer::BuildConfiguration *bc);
+ void startParsing();
private:
bool fromMap(const QVariantMap &map);
diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.pro b/src/plugins/qbsprojectmanager/qbsprojectmanager.pro
index 47e40a1f22..3b8da1c508 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectmanager.pro
+++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.pro
@@ -36,7 +36,6 @@ HEADERS = \
qbsprojectmanagerplugin.h \
qbspropertylineedit.h \
qbsrunconfiguration.h \
- qbsstep.h \
qbsconstants.h
SOURCES = \
@@ -55,8 +54,7 @@ SOURCES = \
qbsprojectmanager.cpp \
qbsprojectmanagerplugin.cpp \
qbspropertylineedit.cpp \
- qbsrunconfiguration.cpp \
- qbsstep.cpp
+ qbsrunconfiguration.cpp
FORMS = \
qbsbuildstepconfigwidget.ui \
diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs b/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs
index af2759e317..b4e8ab2420 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs
+++ b/src/plugins/qbsprojectmanager/qbsprojectmanager.qbs
@@ -96,9 +96,7 @@ QtcPlugin {
"qbspropertylineedit.cpp",
"qbspropertylineedit.h",
"qbsrunconfiguration.cpp",
- "qbsrunconfiguration.h",
- "qbsstep.cpp",
- "qbsstep.h"
+ "qbsrunconfiguration.h"
]
}
diff --git a/src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp b/src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp
index f02597b715..070d424886 100644
--- a/src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp
+++ b/src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp
@@ -405,7 +405,7 @@ void QbsProjectManagerPlugin::buildProducts(QbsProject *project, const QStringLi
void QbsProjectManagerPlugin::reparseCurrentProject()
{
if (m_currentProject)
- m_currentProject->parseCurrentBuildConfiguration();
+ m_currentProject->parseCurrentBuildConfiguration(true);
}
} // namespace Internal
diff --git a/src/plugins/qbsprojectmanager/qbsstep.cpp b/src/plugins/qbsprojectmanager/qbsstep.cpp
deleted file mode 100644
index b4aee3534e..0000000000
--- a/src/plugins/qbsprojectmanager/qbsstep.cpp
+++ /dev/null
@@ -1,242 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "qbsstep.h"
-
-#include "qbsbuildconfiguration.h"
-#include "qbsparser.h"
-#include "qbsproject.h"
-#include "qbsprojectmanagerconstants.h"
-
-#include <projectexplorer/buildsteplist.h>
-#include <projectexplorer/kit.h>
-#include <projectexplorer/projectexplorerconstants.h>
-#include <projectexplorer/target.h>
-#include <utils/qtcassert.h>
-
-#include <qbs.h>
-
-#include <QTimer>
-
-// --------------------------------------------------------------------
-// Constants:
-// --------------------------------------------------------------------
-
-static const char QBS_DRY_RUN[] = "Qbs.DryRun";
-static const char QBS_KEEP_GOING[] = "Qbs.DryKeepGoing";
-static const char QBS_MAXJOBCOUNT[] = "Qbs.MaxJobs";
-
-namespace QbsProjectManager {
-namespace Internal {
-
-// --------------------------------------------------------------------
-// QbsStep:
-// --------------------------------------------------------------------
-
-QbsStep::QbsStep(ProjectExplorer::BuildStepList *bsl, Core::Id id) :
- ProjectExplorer::BuildStep(bsl, id),
- m_job(0)
-{
- m_qbsBuildOptions.setMaxJobCount(QbsManager::preferences()->jobs());
-}
-
-QbsStep::QbsStep(ProjectExplorer::BuildStepList *bsl, const QbsStep *other) :
- ProjectExplorer::BuildStep(bsl, Core::Id(Constants::QBS_BUILDSTEP_ID)),
- m_qbsBuildOptions(other->m_qbsBuildOptions), m_job(0)
-{ }
-
-QbsBuildConfiguration *QbsStep::currentBuildConfiguration() const
-{
- QbsBuildConfiguration *bc = static_cast<QbsBuildConfiguration *>(buildConfiguration());
- if (!bc)
- bc = static_cast<QbsBuildConfiguration *>(target()->activeBuildConfiguration());
- return bc;
-}
-
-QbsStep::~QbsStep()
-{
- cancel();
- m_job->deleteLater();
- m_job = 0;
-}
-
-bool QbsStep::init()
-{
- if (static_cast<QbsProject *>(project())->isParsing() || m_job)
- return false;
-
- if (!currentBuildConfiguration())
- return false;
-
- return true;
-}
-
-void QbsStep::run(QFutureInterface<bool> &fi)
-{
- m_fi = &fi;
-
- m_job = createJob();
-
- if (!m_job) {
- jobDone(false);
- return;
- }
-
- m_progressBase = 0;
-
- connect(m_job, SIGNAL(finished(bool,qbs::AbstractJob*)), this, SLOT(jobDone(bool)));
- connect(m_job, SIGNAL(taskStarted(QString,int,qbs::AbstractJob*)),
- this, SLOT(handleTaskStarted(QString,int)));
- connect(m_job, SIGNAL(taskProgress(int,qbs::AbstractJob*)),
- this, SLOT(handleProgress(int)));
-}
-
-QFutureInterface<bool> *QbsStep::future() const
-{
- return m_fi;
-}
-
-bool QbsStep::runInGuiThread() const
-{
- return true;
-}
-
-void QbsStep::cancel()
-{
- if (m_job)
- m_job->cancel();
-}
-
-bool QbsStep::dryRun() const
-{
- return m_qbsBuildOptions.dryRun();
-}
-
-bool QbsStep::keepGoing() const
-{
- return m_qbsBuildOptions.keepGoing();
-}
-
-int QbsStep::maxJobs() const
-{
- return m_qbsBuildOptions.maxJobCount();
-}
-
-bool QbsStep::fromMap(const QVariantMap &map)
-{
- if (!ProjectExplorer::BuildStep::fromMap(map))
- return false;
-
- m_qbsBuildOptions.setDryRun(map.value(QLatin1String(QBS_DRY_RUN)).toBool());
- m_qbsBuildOptions.setKeepGoing(map.value(QLatin1String(QBS_KEEP_GOING)).toBool());
- m_qbsBuildOptions.setMaxJobCount(map.value(QLatin1String(QBS_MAXJOBCOUNT)).toInt());
-
- if (m_qbsBuildOptions.maxJobCount() <= 0)
- m_qbsBuildOptions.setMaxJobCount(QbsManager::preferences()->jobs());
-
- return true;
-}
-
-QVariantMap QbsStep::toMap() const
-{
- QVariantMap map = ProjectExplorer::BuildStep::toMap();
- map.insert(QLatin1String(QBS_DRY_RUN), m_qbsBuildOptions.dryRun());
- map.insert(QLatin1String(QBS_KEEP_GOING), m_qbsBuildOptions.keepGoing());
- map.insert(QLatin1String(QBS_MAXJOBCOUNT), m_qbsBuildOptions.maxJobCount());
- return map;
-}
-
-void QbsStep::jobDone(bool success)
-{
- // Report errors:
- if (m_job) {
- foreach (const qbs::ErrorItem &item, m_job->error().items())
- createTaskAndOutput(ProjectExplorer::Task::Error, item.description(),
- item.codeLocation().fileName(), item.codeLocation().line());
- m_job->deleteLater();
- m_job = 0;
- }
-
- QTC_ASSERT(m_fi, return);
- m_fi->reportResult(success);
- m_fi = 0; // do not delete, it is not ours
-
- emit finished();
-}
-
-void QbsStep::handleTaskStarted(const QString &desciption, int max)
-{
- Q_UNUSED(desciption);
- QTC_ASSERT(m_fi, return);
-
- m_progressBase = m_fi->progressValue();
- m_fi->setProgressRange(0, m_progressBase + max);
-}
-
-void QbsStep::handleProgress(int value)
-{
- QTC_ASSERT(m_fi, return);
- m_fi->setProgressValue(m_progressBase + value);
-}
-
-void QbsStep::createTaskAndOutput(ProjectExplorer::Task::TaskType type, const QString &message,
- const QString &file, int line)
-{
- emit addTask(ProjectExplorer::Task(type, message,
- Utils::FileName::fromString(file), line,
- ProjectExplorer::Constants::TASK_CATEGORY_COMPILE));
- emit addOutput(message, NormalOutput);
-}
-
-void QbsStep::setDryRun(bool dr)
-{
- if (m_qbsBuildOptions.dryRun() == dr)
- return;
- m_qbsBuildOptions.setDryRun(dr);
- emit qbsBuildOptionsChanged();
-}
-
-void QbsStep::setKeepGoing(bool kg)
-{
- if (m_qbsBuildOptions.keepGoing() == kg)
- return;
- m_qbsBuildOptions.setKeepGoing(kg);
- emit qbsBuildOptionsChanged();
-}
-
-void QbsStep::setMaxJobs(int jobcount)
-{
- if (m_qbsBuildOptions.maxJobCount() == jobcount)
- return;
- m_qbsBuildOptions.setMaxJobCount(jobcount);
- emit qbsBuildOptionsChanged();
-}
-
-} // namespace Internal
-} // namespace QbsProjectManager
diff --git a/src/plugins/qbsprojectmanager/qbsstep.h b/src/plugins/qbsprojectmanager/qbsstep.h
deleted file mode 100644
index 3728f237b1..0000000000
--- a/src/plugins/qbsprojectmanager/qbsstep.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef QBSSTEP_H
-#define QBSSTEP_H
-
-#include "qbsbuildconfiguration.h"
-
-#include <projectexplorer/buildstep.h>
-#include <projectexplorer/task.h>
-
-#include <qbs.h>
-
-namespace QbsProjectManager {
-namespace Internal {
-
-class QbsStepConfigWidget;
-
-class QbsStep : public ProjectExplorer::BuildStep
-{
- Q_OBJECT
-
-public:
- ~QbsStep();
-
- bool init();
-
- void run(QFutureInterface<bool> &fi);
-
- QFutureInterface<bool> *future() const;
-
- bool runInGuiThread() const;
- void cancel();
-
- bool dryRun() const;
- bool keepGoing() const;
- int maxJobs() const;
- QString buildVariant() const;
-
- bool fromMap(const QVariantMap &map);
- QVariantMap toMap() const;
-
-signals:
- void qbsBuildOptionsChanged();
-
-private slots:
- virtual void jobDone(bool success);
- void handleTaskStarted(const QString &desciption, int max);
- void handleProgress(int value);
-
-protected:
- QbsStep(ProjectExplorer::BuildStepList *bsl, Core::Id id);
- QbsStep(ProjectExplorer::BuildStepList *bsl, const QbsStep *other);
-
- QbsBuildConfiguration *currentBuildConfiguration() const;
-
- virtual qbs::AbstractJob *createJob() = 0;
-
- void createTaskAndOutput(ProjectExplorer::Task::TaskType type,
- const QString &message, const QString &file, int line);
-
- qbs::AbstractJob *job() const { return m_job; }
- qbs::BuildOptions buildOptions() const { return m_qbsBuildOptions; }
-
-private:
- void setDryRun(bool dr);
- void setKeepGoing(bool kg);
- void setMaxJobs(int jobcount);
-
- qbs::BuildOptions m_qbsBuildOptions;
-
- QFutureInterface<bool> *m_fi;
- qbs::AbstractJob *m_job;
- int m_progressBase;
-
- friend class QbsStepConfigWidget;
-};
-
-} // namespace Internal
-} // namespace QbsProjectManager
-
-#endif // QBSSTEP_H