diff options
author | hjk <[email protected]> | 2021-09-28 12:29:29 +0200 |
---|---|---|
committer | hjk <[email protected]> | 2021-09-29 10:52:15 +0000 |
commit | eedf02e40f471fdef41a9f9fce0160e5681c3dc9 (patch) | |
tree | c8491aee6d86b46d269c314401c9a35835151731 /src/plugins | |
parent | ba672d1334a308b82cd0047a7d5d4ad96ab5388a (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.cpp | 5 | ||||
-rw-r--r-- | src/plugins/incredibuild/cmakecommandbuilder.h | 2 | ||||
-rw-r--r-- | src/plugins/incredibuild/commandbuilder.cpp | 18 | ||||
-rw-r--r-- | src/plugins/incredibuild/commandbuilder.h | 10 | ||||
-rw-r--r-- | src/plugins/incredibuild/commandbuilderaspect.cpp | 10 | ||||
-rw-r--r-- | src/plugins/incredibuild/makecommandbuilder.cpp | 22 | ||||
-rw-r--r-- | src/plugins/incredibuild/makecommandbuilder.h | 2 |
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; }; |