From 86f072daeb37c9d1a4d16225abeb0f08ae58aad1 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 15 May 2019 10:45:36 +0200 Subject: [PATCH] ProjectExplorer: Make ToolChain::makeCommand return a FileName ... instead of a QString. This is in line with the qmakeCommand(). Change-Id: I617cb03522be5ebaac6cab58a3606f659fddb833 Reviewed-by: Christian Kandeler --- .../androidpackageinstallationstep.cpp | 2 +- src/plugins/android/androidtoolchain.cpp | 4 ++-- src/plugins/android/androidtoolchain.h | 2 +- src/plugins/baremetal/iarewtoolchain.cpp | 2 +- src/plugins/baremetal/iarewtoolchain.h | 2 +- src/plugins/baremetal/keiltoolchain.cpp | 2 +- src/plugins/baremetal/keiltoolchain.h | 2 +- src/plugins/baremetal/sdcctoolchain.cpp | 2 +- src/plugins/baremetal/sdcctoolchain.h | 2 +- src/plugins/nim/project/nimtoolchain.cpp | 7 +++---- src/plugins/nim/project/nimtoolchain.h | 2 +- .../projectexplorer/customtoolchain.cpp | 8 ++++---- src/plugins/projectexplorer/customtoolchain.h | 2 +- src/plugins/projectexplorer/gcctoolchain.cpp | 19 +++++++++---------- src/plugins/projectexplorer/gcctoolchain.h | 6 +++--- src/plugins/projectexplorer/makestep.cpp | 5 +++-- src/plugins/projectexplorer/msvctoolchain.cpp | 14 ++++++++------ src/plugins/projectexplorer/msvctoolchain.h | 2 +- src/plugins/projectexplorer/toolchain.h | 2 +- .../toolchainsettingsaccessor.cpp | 2 +- .../designercore/instances/puppetcreator.cpp | 2 +- 21 files changed, 46 insertions(+), 45 deletions(-) diff --git a/src/plugins/android/androidpackageinstallationstep.cpp b/src/plugins/android/androidpackageinstallationstep.cpp index 851eaf64228..f49cb2ea077 100644 --- a/src/plugins/android/androidpackageinstallationstep.cpp +++ b/src/plugins/android/androidpackageinstallationstep.cpp @@ -73,7 +73,7 @@ bool AndroidPackageInstallationStep::init() ProcessParameters *pp = processParameters(); pp->setMacroExpander(bc->macroExpander()); pp->setWorkingDirectory(bc->buildDirectory().toString()); - pp->setCommand(tc->makeCommand(bc->environment())); + pp->setCommand(tc->makeCommand(bc->environment()).toString()); Environment env = bc->environment(); Environment::setupEnglishOutput(&env); pp->setEnvironment(env); diff --git a/src/plugins/android/androidtoolchain.cpp b/src/plugins/android/androidtoolchain.cpp index 7fedf2b4b1d..f1b09279919 100644 --- a/src/plugins/android/androidtoolchain.cpp +++ b/src/plugins/android/androidtoolchain.cpp @@ -130,11 +130,11 @@ FileNameList AndroidToolChain::suggestedMkspecList() const << FileName::fromLatin1("android-clang"); } -QString AndroidToolChain::makeCommand(const Environment &env) const +FileName AndroidToolChain::makeCommand(const Environment &env) const { Q_UNUSED(env); FileName makePath = AndroidConfigurations::currentConfig().makePath(); - return makePath.exists() ? makePath.toString() : "make"; + return makePath.exists() ? makePath : FileName::fromString("make"); } GccToolChain::DetectedAbisResult AndroidToolChain::detectSupportedAbis() const diff --git a/src/plugins/android/androidtoolchain.h b/src/plugins/android/androidtoolchain.h index 04a1707d8a3..6bbc9c731e7 100644 --- a/src/plugins/android/androidtoolchain.h +++ b/src/plugins/android/androidtoolchain.h @@ -45,7 +45,7 @@ public: Utils::FileName suggestedDebugger() const override; Utils::FileName suggestedGdbServer() const; Utils::FileNameList suggestedMkspecList() const override; - QString makeCommand(const Utils::Environment &environment) const override; + Utils::FileName makeCommand(const Utils::Environment &environment) const override; bool fromMap(const QVariantMap &data) override; protected: diff --git a/src/plugins/baremetal/iarewtoolchain.cpp b/src/plugins/baremetal/iarewtoolchain.cpp index d287ef9f4e5..f5125acf97b 100644 --- a/src/plugins/baremetal/iarewtoolchain.cpp +++ b/src/plugins/baremetal/iarewtoolchain.cpp @@ -382,7 +382,7 @@ FileName IarToolChain::compilerCommand() const return m_compilerCommand; } -QString IarToolChain::makeCommand(const Environment &env) const +FileName IarToolChain::makeCommand(const Environment &env) const { Q_UNUSED(env) return {}; diff --git a/src/plugins/baremetal/iarewtoolchain.h b/src/plugins/baremetal/iarewtoolchain.h index 810bfbd0b3a..986146103d1 100644 --- a/src/plugins/baremetal/iarewtoolchain.h +++ b/src/plugins/baremetal/iarewtoolchain.h @@ -81,7 +81,7 @@ public: void setCompilerCommand(const Utils::FileName &file); Utils::FileName compilerCommand() const final; - QString makeCommand(const Utils::Environment &env) const final; + Utils::FileName makeCommand(const Utils::Environment &env) const final; ToolChain *clone() const final; diff --git a/src/plugins/baremetal/keiltoolchain.cpp b/src/plugins/baremetal/keiltoolchain.cpp index 29375ac4401..abe074fc3ef 100644 --- a/src/plugins/baremetal/keiltoolchain.cpp +++ b/src/plugins/baremetal/keiltoolchain.cpp @@ -387,7 +387,7 @@ FileName KeilToolchain::compilerCommand() const return m_compilerCommand; } -QString KeilToolchain::makeCommand(const Environment &env) const +FileName KeilToolchain::makeCommand(const Environment &env) const { Q_UNUSED(env) return {}; diff --git a/src/plugins/baremetal/keiltoolchain.h b/src/plugins/baremetal/keiltoolchain.h index 55c523f1d44..9347f953874 100644 --- a/src/plugins/baremetal/keiltoolchain.h +++ b/src/plugins/baremetal/keiltoolchain.h @@ -81,7 +81,7 @@ public: void setCompilerCommand(const Utils::FileName &file); Utils::FileName compilerCommand() const final; - QString makeCommand(const Utils::Environment &env) const final; + Utils::FileName makeCommand(const Utils::Environment &env) const final; ToolChain *clone() const final; diff --git a/src/plugins/baremetal/sdcctoolchain.cpp b/src/plugins/baremetal/sdcctoolchain.cpp index dd29073284f..879274f3c44 100644 --- a/src/plugins/baremetal/sdcctoolchain.cpp +++ b/src/plugins/baremetal/sdcctoolchain.cpp @@ -372,7 +372,7 @@ FileName SdccToolChain::compilerCommand() const return m_compilerCommand; } -QString SdccToolChain::makeCommand(const Environment &env) const +FileName SdccToolChain::makeCommand(const Environment &env) const { Q_UNUSED(env) return {}; diff --git a/src/plugins/baremetal/sdcctoolchain.h b/src/plugins/baremetal/sdcctoolchain.h index 711207d209f..bb4a90c19c7 100644 --- a/src/plugins/baremetal/sdcctoolchain.h +++ b/src/plugins/baremetal/sdcctoolchain.h @@ -81,7 +81,7 @@ public: void setCompilerCommand(const Utils::FileName &file); Utils::FileName compilerCommand() const final; - QString makeCommand(const Utils::Environment &env) const final; + Utils::FileName makeCommand(const Utils::Environment &env) const final; ToolChain *clone() const final; diff --git a/src/plugins/nim/project/nimtoolchain.cpp b/src/plugins/nim/project/nimtoolchain.cpp index 80e54567be2..d34fcc2a2c8 100644 --- a/src/plugins/nim/project/nimtoolchain.cpp +++ b/src/plugins/nim/project/nimtoolchain.cpp @@ -113,11 +113,10 @@ void NimToolChain::addToEnvironment(Environment &env) const env.prependOrSetPath(compilerCommand().parentDir().toString()); } -QString NimToolChain::makeCommand(const Environment &env) const +FileName NimToolChain::makeCommand(const Environment &env) const { - QString make = "make"; - FileName tmp = env.searchInPath(make); - return tmp.isEmpty() ? make : tmp.toString(); + const FileName tmp = env.searchInPath("make"); + return tmp.isEmpty() ? FileName::fromString("make") : tmp; } FileName NimToolChain::compilerCommand() const diff --git a/src/plugins/nim/project/nimtoolchain.h b/src/plugins/nim/project/nimtoolchain.h index b41eb0af0ee..85d0b25d63f 100644 --- a/src/plugins/nim/project/nimtoolchain.h +++ b/src/plugins/nim/project/nimtoolchain.h @@ -49,7 +49,7 @@ public: ProjectExplorer::HeaderPaths builtInHeaderPaths(const QStringList &flags, const Utils::FileName &sysRoot) const final; void addToEnvironment(Utils::Environment &env) const final; - QString makeCommand(const Utils::Environment &env) const final; + Utils::FileName makeCommand(const Utils::Environment &env) const final; Utils::FileName compilerCommand() const final; QString compilerVersion() const; void setCompilerCommand(const Utils::FileName &compilerCommand); diff --git a/src/plugins/projectexplorer/customtoolchain.cpp b/src/plugins/projectexplorer/customtoolchain.cpp index 199e1faca14..4202e14f6a0 100644 --- a/src/plugins/projectexplorer/customtoolchain.cpp +++ b/src/plugins/projectexplorer/customtoolchain.cpp @@ -250,9 +250,9 @@ void CustomToolChain::setMakeCommand(const FileName &path) toolChainUpdated(); } -QString CustomToolChain::makeCommand(const Environment &) const +FileName CustomToolChain::makeCommand(const Environment &) const { - return m_makeCommand.toString(); + return m_makeCommand; } void CustomToolChain::setCxx11Flags(const QStringList &flags) @@ -602,7 +602,7 @@ void CustomToolChainConfigWidget::setFromToolchain() QSignalBlocker blocker(this); auto tc = static_cast(toolChain()); m_compilerCommand->setFileName(tc->compilerCommand()); - m_makeCommand->setFileName(FileName::fromString(tc->makeCommand(Environment()))); + m_makeCommand->setFileName(tc->makeCommand(Environment())); m_abiWidget->setAbis(QList(), tc->targetAbi()); const QStringList macroLines = Utils::transform(tc->rawPredefinedMacros(), [](const Macro &m) { return QString::fromUtf8(m.toKeyValue(QByteArray())); @@ -621,7 +621,7 @@ bool CustomToolChainConfigWidget::isDirtyImpl() const auto tc = static_cast(toolChain()); Q_ASSERT(tc); return m_compilerCommand->fileName() != tc->compilerCommand() - || m_makeCommand->path() != tc->makeCommand(Environment()) + || m_makeCommand->path() != tc->makeCommand(Environment()).toString() || m_abiWidget->currentAbi() != tc->targetAbi() || Macro::toMacros(m_predefinedDetails->text().toUtf8()) != tc->rawPredefinedMacros() || m_headerDetails->entries() != tc->headerPathsList() diff --git a/src/plugins/projectexplorer/customtoolchain.h b/src/plugins/projectexplorer/customtoolchain.h index ef403851a03..64d234418bb 100644 --- a/src/plugins/projectexplorer/customtoolchain.h +++ b/src/plugins/projectexplorer/customtoolchain.h @@ -97,7 +97,7 @@ public: void setCompilerCommand(const Utils::FileName &); Utils::FileName compilerCommand() const override; void setMakeCommand(const Utils::FileName &); - QString makeCommand(const Utils::Environment &environment) const override; + Utils::FileName makeCommand(const Utils::Environment &environment) const override; void setCxx11Flags(const QStringList &); const QStringList &cxx11Flags() const; diff --git a/src/plugins/projectexplorer/gcctoolchain.cpp b/src/plugins/projectexplorer/gcctoolchain.cpp index bfb179bdfad..c411c525100 100644 --- a/src/plugins/projectexplorer/gcctoolchain.cpp +++ b/src/plugins/projectexplorer/gcctoolchain.cpp @@ -695,11 +695,10 @@ FileNameList GccToolChain::suggestedMkspecList() const return FileNameList(); } -QString GccToolChain::makeCommand(const Environment &environment) const +FileName GccToolChain::makeCommand(const Environment &environment) const { - QString make = "make"; - FileName tmp = environment.searchInPath(make); - return tmp.isEmpty() ? make : tmp.toString(); + const FileName tmp = environment.searchInPath("make"); + return tmp.isEmpty() ? FileName::fromString("make") : tmp; } IOutputParser *GccToolChain::outputParser() const @@ -1296,7 +1295,7 @@ QString ClangToolChain::typeDisplayName() const return ClangToolChainFactory::tr("Clang"); } -QString ClangToolChain::makeCommand(const Environment &environment) const +FileName ClangToolChain::makeCommand(const Environment &environment) const { const QStringList makes = HostOsInfo::isWindowsHost() ? QStringList({"mingw32-make.exe", "make.exe"}) : QStringList({"make"}); @@ -1305,9 +1304,9 @@ QString ClangToolChain::makeCommand(const Environment &environment) const for (const QString &make : makes) { tmp = environment.searchInPath(make); if (!tmp.isEmpty()) - return tmp.toString(); + return tmp; } - return makes.first(); + return FileName::fromString(makes.first()); } /** @@ -1639,7 +1638,7 @@ FileNameList MingwToolChain::suggestedMkspecList() const return FileNameList(); } -QString MingwToolChain::makeCommand(const Environment &environment) const +FileName MingwToolChain::makeCommand(const Environment &environment) const { const QStringList makes = HostOsInfo::isWindowsHost() ? QStringList({"mingw32-make.exe", "make.exe"}) : QStringList({"make"}); @@ -1648,9 +1647,9 @@ QString MingwToolChain::makeCommand(const Environment &environment) const foreach (const QString &make, makes) { tmp = environment.searchInPath(make); if (!tmp.isEmpty()) - return tmp.toString(); + return tmp; } - return makes.first(); + return FileName::fromString(makes.first()); } ToolChain *MingwToolChain::clone() const diff --git a/src/plugins/projectexplorer/gcctoolchain.h b/src/plugins/projectexplorer/gcctoolchain.h index eea39070dc4..f13b27b2da3 100644 --- a/src/plugins/projectexplorer/gcctoolchain.h +++ b/src/plugins/projectexplorer/gcctoolchain.h @@ -88,7 +88,7 @@ public: const Utils::FileName &sysRootPath) const override; void addToEnvironment(Utils::Environment &env) const override; - QString makeCommand(const Utils::Environment &environment) const override; + Utils::FileName makeCommand(const Utils::Environment &environment) const override; Utils::FileNameList suggestedMkspecList() const override; IOutputParser *outputParser() const override; @@ -220,7 +220,7 @@ public: ClangToolChain(const ClangToolChain &other); ~ClangToolChain() override; QString typeDisplayName() const override; - QString makeCommand(const Utils::Environment &environment) const override; + Utils::FileName makeCommand(const Utils::Environment &environment) const override; Utils::LanguageExtensions languageExtensions(const QStringList &cxxflags) const override; WarningFlags warningFlags(const QStringList &cflags) const override; @@ -264,7 +264,7 @@ class PROJECTEXPLORER_EXPORT MingwToolChain : public GccToolChain { public: QString typeDisplayName() const override; - QString makeCommand(const Utils::Environment &environment) const override; + Utils::FileName makeCommand(const Utils::Environment &environment) const override; ToolChain *clone() const override; diff --git a/src/plugins/projectexplorer/makestep.cpp b/src/plugins/projectexplorer/makestep.cpp index 9191f7bcff6..96e1bee83e8 100644 --- a/src/plugins/projectexplorer/makestep.cpp +++ b/src/plugins/projectexplorer/makestep.cpp @@ -47,6 +47,7 @@ #include using namespace Core; +using namespace Utils; const char BUILD_TARGETS_SUFFIX[] = ".BuildTargets"; const char MAKE_ARGUMENTS_SUFFIX[] = ".MakeArguments"; @@ -149,9 +150,9 @@ QString MakeStep::defaultMakeCommand() const return QString(); const Utils::Environment env = environment(bc); for (const ToolChain *tc : preferredToolChains(target()->kit())) { - const QString make = tc->makeCommand(env); + FileName make = tc->makeCommand(env); if (!make.isEmpty()) - return make; + return make.toString(); } return QString(); } diff --git a/src/plugins/projectexplorer/msvctoolchain.cpp b/src/plugins/projectexplorer/msvctoolchain.cpp index 2a67df46660..41cf05c3764 100644 --- a/src/plugins/projectexplorer/msvctoolchain.cpp +++ b/src/plugins/projectexplorer/msvctoolchain.cpp @@ -60,6 +60,8 @@ #include #include +using namespace Utils; + #define KEY_ROOT "ProjectExplorer.MsvcToolChain." static const char varsBatKeyC[] = KEY_ROOT "VarsBat"; static const char varsBatArgKeyC[] = KEY_ROOT "VarsBatArg"; @@ -1239,33 +1241,33 @@ static QString wrappedMakeCommand(const QString &command) return wrapperPath; } -QString MsvcToolChain::makeCommand(const Utils::Environment &environment) const +FileName MsvcToolChain::makeCommand(const Environment &environment) const { bool useJom = ProjectExplorerPlugin::projectExplorerSettings().useJom; const QString jom("jom.exe"); const QString nmake("nmake.exe"); Utils::FileName tmp; - QString command; + FileName command; if (useJom) { tmp = environment.searchInPath(jom, {Utils::FileName::fromString( QCoreApplication::applicationDirPath())}); if (!tmp.isEmpty()) - command = tmp.toString(); + command = tmp; } if (command.isEmpty()) { tmp = environment.searchInPath(nmake); if (!tmp.isEmpty()) - command = tmp.toString(); + command = tmp; } if (command.isEmpty()) - command = useJom ? jom : nmake; + command = FileName::fromString(useJom ? jom : nmake); if (environment.hasKey("VSLANG")) - return wrappedMakeCommand(command); + return FileName::fromString(wrappedMakeCommand(command.toString())); return command; } diff --git a/src/plugins/projectexplorer/msvctoolchain.h b/src/plugins/projectexplorer/msvctoolchain.h index 169f0ef185f..a22261f7c71 100644 --- a/src/plugins/projectexplorer/msvctoolchain.h +++ b/src/plugins/projectexplorer/msvctoolchain.h @@ -92,7 +92,7 @@ public: const Utils::FileName &sysRoot) const override; void addToEnvironment(Utils::Environment &env) const override; - QString makeCommand(const Utils::Environment &environment) const override; + Utils::FileName makeCommand(const Utils::Environment &environment) const override; Utils::FileName compilerCommand() const override; IOutputParser *outputParser() const override; diff --git a/src/plugins/projectexplorer/toolchain.h b/src/plugins/projectexplorer/toolchain.h index 0ba3b584e8e..8dee69ddeeb 100644 --- a/src/plugins/projectexplorer/toolchain.h +++ b/src/plugins/projectexplorer/toolchain.h @@ -136,7 +136,7 @@ public: virtual HeaderPaths builtInHeaderPaths(const QStringList &cxxflags, const Utils::FileName &sysRoot) const = 0; virtual void addToEnvironment(Utils::Environment &env) const = 0; - virtual QString makeCommand(const Utils::Environment &env) const = 0; + virtual Utils::FileName makeCommand(const Utils::Environment &env) const = 0; Core::Id language() const; diff --git a/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp b/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp index 35dab8110d1..d6457db7f29 100644 --- a/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp +++ b/src/plugins/projectexplorer/toolchainsettingsaccessor.cpp @@ -318,7 +318,7 @@ public: HeaderPaths builtInHeaderPaths(const QStringList &cxxflags, const FileName &sysRoot) const override { Q_UNUSED(cxxflags); Q_UNUSED(sysRoot); return {}; } void addToEnvironment(Environment &env) const override { Q_UNUSED(env); } - QString makeCommand(const Environment &env) const override { Q_UNUSED(env); return QString("make"); } + FileName makeCommand(const Environment &) const override { return FileName::fromString("make"); } FileName compilerCommand() const override { return Utils::FileName::fromString("/tmp/test/gcc"); } IOutputParser *outputParser() const override { return nullptr; } std::unique_ptr createConfigurationWidget() override { return nullptr; } diff --git a/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp b/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp index 574c1794681..e53d4614366 100644 --- a/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp +++ b/src/plugins/qmldesigner/designercore/instances/puppetcreator.cpp @@ -510,7 +510,7 @@ QString PuppetCreator::buildCommand() const ProjectExplorer::Constants::CXX_LANGUAGE_ID); if (toolChain) - return toolChain->makeCommand(environment); + return toolChain->makeCommand(environment).toString(); return QString(); }