IncrediBuild: Rework CommandBuilder

Simplify interfaces. Also persist all command line settings,
make overriding default arguments explicit.

Change-Id: Ifb7e791dfc07ae9a88cfd769b9d21c5ee242e31d
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
hjk
2020-08-06 18:11:52 +02:00
parent f00b088a1d
commit e04b9a5348
10 changed files with 121 additions and 257 deletions

View File

@@ -27,24 +27,20 @@
#include "commandbuilder.h"
#include <QCoreApplication>
namespace IncrediBuild {
namespace Internal {
class MakeCommandBuilder : public CommandBuilder
class MakeCommandBuilder final : public CommandBuilder
{
Q_DECLARE_TR_FUNCTIONS(MakeCommandBuilder)
public:
MakeCommandBuilder(ProjectExplorer::BuildStep *buildStep) : CommandBuilder(buildStep) {}
bool canMigrate(ProjectExplorer::BuildStepList *buildStepList) override;
QString displayName() const override { return tr("Make"); }
QString defaultCommand() override;
QString setMultiProcessArg(QString args) override;
private:
QString m_defaultMake{};
bool canMigrate(ProjectExplorer::BuildStepList *buildStepList) final;
QString id() const final { return "MakeCommandBuilder"; }
QString displayName() const final { return tr("Make"); }
QString defaultCommand() const final;
QString setMultiProcessArg(QString args) final;
};
} // namespace Internal