diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2013-12-10 12:53:20 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@digia.com> | 2013-12-10 12:53:20 +0100 |
commit | 9f831dde07cb2411808534e76669b28a1b76e21d (patch) | |
tree | ed6252d64c9a3ab27aa93786272cda1b6008f3c7 /src/plugins/qbsprojectmanager | |
parent | cdac81f896ef4b052d76f96485a08e6ec13696b8 (diff) | |
parent | ea1a92484ac99057b06130a012164bf9788650e9 (diff) | |
download | qt-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.cpp | 27 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsbuildstep.cpp | 29 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsbuildstep.h | 3 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsbuildstepconfigwidget.ui | 7 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsproject.cpp | 14 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsproject.h | 3 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsprojectmanager.pro | 4 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsprojectmanager.qbs | 4 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsprojectmanagerplugin.cpp | 2 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsstep.cpp | 242 | ||||
-rw-r--r-- | src/plugins/qbsprojectmanager/qbsstep.h | 108 |
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 |