forked from qt-creator/qt-creator
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 <christian.kandeler@qt.io>
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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 {};
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 {};
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 {};
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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<CustomToolChain *>(toolChain());
|
||||
m_compilerCommand->setFileName(tc->compilerCommand());
|
||||
m_makeCommand->setFileName(FileName::fromString(tc->makeCommand(Environment())));
|
||||
m_makeCommand->setFileName(tc->makeCommand(Environment()));
|
||||
m_abiWidget->setAbis(QList<Abi>(), tc->targetAbi());
|
||||
const QStringList macroLines = Utils::transform<QList>(tc->rawPredefinedMacros(), [](const Macro &m) {
|
||||
return QString::fromUtf8(m.toKeyValue(QByteArray()));
|
||||
@@ -621,7 +621,7 @@ bool CustomToolChainConfigWidget::isDirtyImpl() const
|
||||
auto tc = static_cast<CustomToolChain *>(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()
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
#include <QThread>
|
||||
|
||||
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();
|
||||
}
|
||||
|
||||
@@ -60,6 +60,8 @@
|
||||
#include <QComboBox>
|
||||
#include <QFormLayout>
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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<ToolChainConfigWidget> createConfigurationWidget() override { return nullptr; }
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user