aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorhjk <[email protected]>2021-09-28 12:29:29 +0200
committerhjk <[email protected]>2021-09-29 10:52:15 +0000
commiteedf02e40f471fdef41a9f9fce0160e5681c3dc9 (patch)
treec8491aee6d86b46d269c314401c9a35835151731 /src/plugins
parentba672d1334a308b82cd0047a7d5d4ad96ab5388a (diff)
Incredibuild: Use more FilePath in CommandBuilder
Change-Id: I31e2be7cbd8f5ac58db4bead1fa3266bb80df868 Reviewed-by: Christian Stenger <[email protected]>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/incredibuild/cmakecommandbuilder.cpp5
-rw-r--r--src/plugins/incredibuild/cmakecommandbuilder.h2
-rw-r--r--src/plugins/incredibuild/commandbuilder.cpp18
-rw-r--r--src/plugins/incredibuild/commandbuilder.h10
-rw-r--r--src/plugins/incredibuild/commandbuilderaspect.cpp10
-rw-r--r--src/plugins/incredibuild/makecommandbuilder.cpp22
-rw-r--r--src/plugins/incredibuild/makecommandbuilder.h2
7 files changed, 34 insertions, 35 deletions
diff --git a/src/plugins/incredibuild/cmakecommandbuilder.cpp b/src/plugins/incredibuild/cmakecommandbuilder.cpp
index b505c4b5ef6..a158aa9798b 100644
--- a/src/plugins/incredibuild/cmakecommandbuilder.cpp
+++ b/src/plugins/incredibuild/cmakecommandbuilder.cpp
@@ -36,6 +36,7 @@
#include <QStandardPaths>
using namespace ProjectExplorer;
+using namespace Utils;
namespace IncrediBuild {
namespace Internal {
@@ -45,11 +46,11 @@ QList<Utils::Id> CMakeCommandBuilder::migratableSteps() const
return {CMakeProjectManager::Constants::CMAKE_BUILD_STEP_ID};
}
-QString CMakeCommandBuilder::defaultCommand() const
+FilePath CMakeCommandBuilder::defaultCommand() const
{
const QString defaultCMake = "cmake";
const QString cmake = QStandardPaths::findExecutable(defaultCMake);
- return cmake.isEmpty() ? defaultCMake : cmake;
+ return FilePath::fromString(cmake.isEmpty() ? defaultCMake : cmake);
}
QString CMakeCommandBuilder::defaultArguments() const
diff --git a/src/plugins/incredibuild/cmakecommandbuilder.h b/src/plugins/incredibuild/cmakecommandbuilder.h
index 2fdeaa757cb..76c66b5beaf 100644
--- a/src/plugins/incredibuild/cmakecommandbuilder.h
+++ b/src/plugins/incredibuild/cmakecommandbuilder.h
@@ -41,7 +41,7 @@ private:
QList<Utils::Id> migratableSteps() const final;
QString id() const final { return "CMakeCommandBuilder"; }
QString displayName() const final { return tr("CMake"); }
- QString defaultCommand() const final;
+ Utils::FilePath defaultCommand() const final;
QString defaultArguments() const final;
QString setMultiProcessArg(QString args) final;
};
diff --git a/src/plugins/incredibuild/commandbuilder.cpp b/src/plugins/incredibuild/commandbuilder.cpp
index b7ae39a2664..d4b6ee42864 100644
--- a/src/plugins/incredibuild/commandbuilder.cpp
+++ b/src/plugins/incredibuild/commandbuilder.cpp
@@ -25,27 +25,27 @@
#include "commandbuilder.h"
+using namespace Utils;
+
namespace IncrediBuild {
namespace Internal {
-namespace Constants {
-const QLatin1String CUSTOMCOMMANDBUILDER_COMMAND("IncrediBuild.BuildConsole.%1.Command");
-const QLatin1String CUSTOMCOMMANDBUILDER_ARGS("IncrediBuild.BuildConsole.%1.Arguments");
-} // namespace Constants
+const char CUSTOMCOMMANDBUILDER_COMMAND[] = "IncrediBuild.BuildConsole.%1.Command";
+const char CUSTOMCOMMANDBUILDER_ARGS[] = "IncrediBuild.BuildConsole.%1.Arguments";
void CommandBuilder::fromMap(const QVariantMap &map)
{
- m_command = map.value(QString(Constants::CUSTOMCOMMANDBUILDER_COMMAND).arg(id())).toString();
- m_args = map.value(QString(Constants::CUSTOMCOMMANDBUILDER_ARGS).arg(id())).toString();
+ m_command = FilePath::fromVariant(map.value(QString(CUSTOMCOMMANDBUILDER_COMMAND).arg(id())));
+ m_args = map.value(QString(CUSTOMCOMMANDBUILDER_ARGS).arg(id())).toString();
}
void CommandBuilder::toMap(QVariantMap *map) const
{
- (*map)[QString(Constants::CUSTOMCOMMANDBUILDER_COMMAND).arg(id())] = QVariant(m_command);
- (*map)[QString(Constants::CUSTOMCOMMANDBUILDER_ARGS).arg(id())] = QVariant(m_args);
+ (*map)[QString(CUSTOMCOMMANDBUILDER_COMMAND).arg(id())] = m_command.toVariant();
+ (*map)[QString(CUSTOMCOMMANDBUILDER_ARGS).arg(id())] = QVariant(m_args);
}
-void CommandBuilder::setCommand(const QString &command)
+void CommandBuilder::setCommand(const FilePath &command)
{
m_command = command;
}
diff --git a/src/plugins/incredibuild/commandbuilder.h b/src/plugins/incredibuild/commandbuilder.h
index 2e8df6af612..83bae1d2b30 100644
--- a/src/plugins/incredibuild/commandbuilder.h
+++ b/src/plugins/incredibuild/commandbuilder.h
@@ -50,20 +50,20 @@ public:
virtual void fromMap(const QVariantMap &map);
virtual void toMap(QVariantMap *map) const;
- virtual QString defaultCommand() const { return QString(); }
+ virtual Utils::FilePath defaultCommand() const { return {}; }
virtual QString defaultArguments() const { return QString(); }
virtual QString setMultiProcessArg(QString args) { return args; }
- QString command() const { return m_command; }
- void setCommand(const QString &command);
- QString effectiveCommand() const { return m_command.isEmpty() ? defaultCommand() : m_command; }
+ Utils::FilePath command() const { return m_command; }
+ void setCommand(const Utils::FilePath &command);
+ Utils::FilePath effectiveCommand() const { return m_command.isEmpty() ? defaultCommand() : m_command; }
QString arguments() { return m_args.isEmpty() ? defaultArguments() : m_args; }
void setArguments(const QString &arguments);
private:
ProjectExplorer::BuildStep *m_buildStep{};
- QString m_command;
+ Utils::FilePath m_command;
QString m_args;
};
diff --git a/src/plugins/incredibuild/commandbuilderaspect.cpp b/src/plugins/incredibuild/commandbuilderaspect.cpp
index 82abefa6339..c5550cab156 100644
--- a/src/plugins/incredibuild/commandbuilderaspect.cpp
+++ b/src/plugins/incredibuild/commandbuilderaspect.cpp
@@ -101,7 +101,7 @@ QString CommandBuilderAspect::fullCommandFlag(bool keepJobNum) const
argsLine = d->m_activeCommandBuilder->setMultiProcessArg(argsLine);
QString fullCommand("\"%1\" %2");
- fullCommand = fullCommand.arg(d->m_activeCommandBuilder->effectiveCommand(), argsLine);
+ fullCommand = fullCommand.arg(d->m_activeCommandBuilder->effectiveCommand().toUserOutput(), argsLine);
return fullCommand;
}
@@ -153,7 +153,7 @@ void CommandBuilderAspect::addToLayout(LayoutBuilder &builder)
d->makePathChooser->setBaseDirectory(PathChooser::homePath());
d->makePathChooser->setHistoryCompleter("IncrediBuild.BuildConsole.MakeCommand.History");
connect(d->makePathChooser, &PathChooser::rawPathChanged, this, [this] {
- d->m_activeCommandBuilder->setCommand(d->makePathChooser->rawPath());
+ d->m_activeCommandBuilder->setCommand(d->makePathChooser->rawFilePath());
updateGui();
});
}
@@ -212,9 +212,9 @@ void CommandBuilderAspect::updateGui()
d->commandBuilder->setCurrentText(d->m_activeCommandBuilder->displayName());
- const QString defaultCommand = d->m_activeCommandBuilder->defaultCommand();
- d->makePathChooser->setPath(d->m_activeCommandBuilder->command());
- d->makePathChooser->setDefaultValue(defaultCommand);
+ const FilePath defaultCommand = d->m_activeCommandBuilder->defaultCommand();
+ d->makePathChooser->setFilePath(d->m_activeCommandBuilder->command());
+ d->makePathChooser->setDefaultValue(defaultCommand.toUserOutput());
const QString defaultArgs = d->m_activeCommandBuilder->defaultArguments();
d->makeArgumentsLineEdit->setPlaceholderText(defaultArgs);
diff --git a/src/plugins/incredibuild/makecommandbuilder.cpp b/src/plugins/incredibuild/makecommandbuilder.cpp
index a758b4949df..0a5fd38ca90 100644
--- a/src/plugins/incredibuild/makecommandbuilder.cpp
+++ b/src/plugins/incredibuild/makecommandbuilder.cpp
@@ -41,6 +41,7 @@
#include <QRegularExpression>
using namespace ProjectExplorer;
+using namespace Utils;
namespace IncrediBuild {
namespace Internal {
@@ -50,35 +51,32 @@ QList<Utils::Id> MakeCommandBuilder::migratableSteps() const
return {QmakeProjectManager::Constants::MAKESTEP_BS_ID};
}
-QString MakeCommandBuilder::defaultCommand() const
+Utils::FilePath MakeCommandBuilder::defaultCommand() const
{
BuildConfiguration *buildConfig = buildStep()->buildConfiguration();
if (buildConfig) {
- Target *target = buildStep()->target();
- if (target) {
- ToolChain *toolChain = ToolChainKitAspect::toolChain(target->kit(), ProjectExplorer::Constants::CXX_LANGUAGE_ID);
- if (toolChain)
- return toolChain->makeCommand(buildConfig->environment()).toUserOutput();
+ if (Target *target = buildStep()->target()) {
+ if (ToolChain *toolChain = ToolChainKitAspect::cxxToolChain(target->kit()))
+ return toolChain->makeCommand(buildConfig->environment());
}
}
- return QString();
+ return {};
}
QString MakeCommandBuilder::setMultiProcessArg(QString args)
{
- QString cmd = command();
- QFileInfo fileInfo(cmd);
+ const FilePath cmd = command();
// jom -j 200
- if (fileInfo.baseName().compare("jom", Qt::CaseSensitivity::CaseInsensitive) == 0) {
+ if (cmd.baseName().compare("jom", Qt::CaseSensitivity::CaseInsensitive) == 0) {
QRegularExpression regExp("\\s*\\-j\\s+\\d+");
args.remove(regExp);
args.append(" -j 200");
}
// make -j200
- else if ((fileInfo.baseName().compare("make", Qt::CaseSensitivity::CaseInsensitive) == 0)
- || (fileInfo.baseName().compare("gmake", Qt::CaseSensitivity::CaseInsensitive) == 0)) {
+ else if ((cmd.baseName().compare("make", Qt::CaseSensitivity::CaseInsensitive) == 0)
+ || (cmd.baseName().compare("gmake", Qt::CaseSensitivity::CaseInsensitive) == 0)) {
QRegularExpression regExp("\\s*\\-j\\d+");
args.remove(regExp);
args.append(" -j200");
diff --git a/src/plugins/incredibuild/makecommandbuilder.h b/src/plugins/incredibuild/makecommandbuilder.h
index 9fad53a1031..10754c8577e 100644
--- a/src/plugins/incredibuild/makecommandbuilder.h
+++ b/src/plugins/incredibuild/makecommandbuilder.h
@@ -41,7 +41,7 @@ private:
QList<Utils::Id> migratableSteps() const final;
QString id() const final { return "MakeCommandBuilder"; }
QString displayName() const final { return tr("Make"); }
- QString defaultCommand() const final;
+ Utils::FilePath defaultCommand() const final;
QString setMultiProcessArg(QString args) final;
};