aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cmakeprojectmanager/cmakebuildstep.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cmakeprojectmanager/cmakebuildstep.h')
-rw-r--r--src/plugins/cmakeprojectmanager/cmakebuildstep.h55
1 files changed, 13 insertions, 42 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildstep.h b/src/plugins/cmakeprojectmanager/cmakebuildstep.h
index 1938c88b10..ffab03c180 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildstep.h
+++ b/src/plugins/cmakeprojectmanager/cmakebuildstep.h
@@ -27,22 +27,9 @@
#include <projectexplorer/abstractprocessstep.h>
-#include <QRegExp>
+namespace Utils { class CommandLine; }
-QT_BEGIN_NAMESPACE
-class QLineEdit;
-class QListWidget;
-class QListWidgetItem;
-class QRadioButton;
-QT_END_NAMESPACE
-
-namespace Utils {
-class CommandLine;
-} // Utils
-
-namespace ProjectExplorer {
-class RunConfiguration;
-} // ProjectManager
+namespace ProjectExplorer { class RunConfiguration; }
namespace CMakeProjectManager {
namespace Internal {
@@ -56,14 +43,16 @@ class CMakeBuildStep : public ProjectExplorer::AbstractProcessStep
friend class CMakeBuildStepFactory;
public:
- CMakeBuildStep(ProjectExplorer::BuildStepList *bsl, Core::Id id);
+ CMakeBuildStep(ProjectExplorer::BuildStepList *bsl, Utils::Id id);
CMakeBuildConfiguration *cmakeBuildConfiguration() const;
- QString buildTarget() const;
+ QStringList buildTargets() const;
bool buildsBuildTarget(const QString &target) const;
- void setBuildTarget(const QString &target);
+ void setBuildTargets(const QStringList &target);
+ QString cmakeArguments() const;
+ void setCMakeArguments(const QString &list);
QString toolArguments() const;
void setToolArguments(const QString &list);
@@ -80,7 +69,7 @@ public:
static QStringList specialTargets();
signals:
- void targetToBuildChanged();
+ void targetsToBuildChanged();
void buildTargetsChanged();
protected:
@@ -90,12 +79,13 @@ protected:
bool fromMap(const QVariantMap &map) override;
// For parsing [ 76%]
- void stdOutput(const QString &line) override;
+ void stdOutput(const QString &output) override;
private:
void ctor(ProjectExplorer::BuildStepList *bsl);
bool init() override;
+ void setupOutputFormatter(Utils::OutputFormatter *formatter) override;
void doRun() override;
ProjectExplorer::BuildStepConfigWidget *createConfigWidget() override;
@@ -104,39 +94,20 @@ private:
void runImpl();
void handleProjectWasParsed(bool success);
- void handleBuildTargetChanges(bool success);
+ void handleBuildTargetsChanges(bool success);
QMetaObject::Connection m_runTrigger;
QRegExp m_percentProgress;
QRegExp m_ninjaProgress;
QString m_ninjaProgressString;
- QString m_buildTarget;
+ QStringList m_buildTargets;
+ QString m_cmakeArguments;
QString m_toolArguments;
bool m_useNinja = false;
bool m_waiting = false;
};
-class CMakeBuildStepConfigWidget : public ProjectExplorer::BuildStepConfigWidget
-{
- Q_OBJECT
-public:
- CMakeBuildStepConfigWidget(CMakeBuildStep *buildStep);
-
-private:
- void itemChanged(QListWidgetItem*);
- void toolArgumentsEdited();
- void updateDetails();
- void buildTargetsChanged();
- void updateBuildTarget();
-
- QRadioButton *itemWidget(QListWidgetItem *item);
-
- CMakeBuildStep *m_buildStep;
- QLineEdit *m_toolArguments;
- QListWidget *m_buildTargetsList;
-};
-
class CMakeBuildStepFactory : public ProjectExplorer::BuildStepFactory
{
public: