ProjectExplorer: Remove the display argument

... from the special MsvcToolChain constructor.

There's a generic way to set that in the base already.

Change-Id: Idd9f44672fec16ff8e3b08ad0f9809b1e7e066f0
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
hjk
2019-06-14 13:25:27 +02:00
parent 295a0c5593
commit be55253f6f
2 changed files with 18 additions and 20 deletions

View File

@@ -844,7 +844,6 @@ static void addToAvailableMsvcToolchains(const MsvcToolChain *toolchain)
} }
MsvcToolChain::MsvcToolChain(Core::Id typeId, MsvcToolChain::MsvcToolChain(Core::Id typeId,
const QString &name,
const Abi &abi, const Abi &abi,
const QString &varsBat, const QString &varsBat,
const QString &varsBatArg) const QString &varsBatArg)
@@ -861,10 +860,6 @@ MsvcToolChain::MsvcToolChain(Core::Id typeId,
&MsvcToolChain::environmentModifications, &MsvcToolChain::environmentModifications,
varsBat, varsBat,
varsBatArg)); varsBatArg));
Q_ASSERT(!name.isEmpty());
setDisplayName(name);
} }
MsvcToolChain::MsvcToolChain(Core::Id typeId) MsvcToolChain::MsvcToolChain(Core::Id typeId)
@@ -1594,7 +1589,8 @@ static QList<ToolChain *> detectClangClToolChainInPath(const QString &clangClPat
clangClPath); clangClPath);
})); }));
if (!tc) { if (!tc) {
tc = new ClangClToolChain(name, clangClPath); tc = new ClangClToolChain(clangClPath);
tc->setDisplayName(name);
tc->setDetection(ToolChain::AutoDetection); tc->setDetection(ToolChain::AutoDetection);
tc->setLanguage(language); tc->setLanguage(language);
tc->resetMsvcToolChain(toolChain); tc->resetMsvcToolChain(toolChain);
@@ -1656,9 +1652,8 @@ void ClangClToolChainConfigWidget::makeReadOnlyImpl()
// clang-cl.exe as a [to some extent] compatible drop-in replacement for cl. // clang-cl.exe as a [to some extent] compatible drop-in replacement for cl.
// -------------------------------------------------------------------------- // --------------------------------------------------------------------------
ClangClToolChain::ClangClToolChain(const QString &name, ClangClToolChain::ClangClToolChain(const QString &clangPath)
const QString &clangPath) : MsvcToolChain(Constants::CLANG_CL_TOOLCHAIN_TYPEID, Abi(), "", "")
: MsvcToolChain(Constants::CLANG_CL_TOOLCHAIN_TYPEID, name, Abi(), "", "")
, m_clangPath(clangPath) , m_clangPath(clangPath)
{} {}
@@ -1838,7 +1833,8 @@ static QList<ToolChain *> findOrCreateToolChain(const QList<ToolChain *> &alread
return mtc->varsBat() == varsBat && mtc->varsBatArg() == varsBatArg; return mtc->varsBat() == varsBat && mtc->varsBatArg() == varsBatArg;
}); });
if (!tc) { if (!tc) {
tc = new MsvcToolChain(Constants::MSVC_TOOLCHAIN_TYPEID, name, abi, varsBat, varsBatArg); tc = new MsvcToolChain(Constants::MSVC_TOOLCHAIN_TYPEID, abi, varsBat, varsBatArg);
tc->setDisplayName(name);
tc->setLanguage(language); tc->setLanguage(language);
} }
res << tc; res << tc;
@@ -1863,9 +1859,8 @@ static void detectCppBuildTools2015(QList<ToolChain *> *list)
{" (x86_arm)", "x86_arm", Abi::ArmArchitecture, Abi::PEFormat, 32}, {" (x86_arm)", "x86_arm", Abi::ArmArchitecture, Abi::PEFormat, 32},
{" (x64_arm)", "amd64_arm", Abi::ArmArchitecture, Abi::PEFormat, 64}}; {" (x64_arm)", "amd64_arm", Abi::ArmArchitecture, Abi::PEFormat, 64}};
const QString name = QStringLiteral("Microsoft Visual C++ Build Tools"); const QString name = "Microsoft Visual C++ Build Tools";
const QString vcVarsBat = windowsProgramFilesDir() + QLatin1Char('/') + name const QString vcVarsBat = windowsProgramFilesDir() + '/' + name + "/vcbuildtools.bat";
+ QStringLiteral("/vcbuildtools.bat");
if (!QFileInfo(vcVarsBat).isFile()) if (!QFileInfo(vcVarsBat).isFile())
return; return;
for (const Entry &e : entries) { for (const Entry &e : entries) {
@@ -1876,10 +1871,10 @@ static void detectCppBuildTools2015(QList<ToolChain *> *list)
e.wordSize); e.wordSize);
for (auto language : {Constants::C_LANGUAGE_ID, Constants::CXX_LANGUAGE_ID}) { for (auto language : {Constants::C_LANGUAGE_ID, Constants::CXX_LANGUAGE_ID}) {
auto tc = new MsvcToolChain(Constants::MSVC_TOOLCHAIN_TYPEID, auto tc = new MsvcToolChain(Constants::MSVC_TOOLCHAIN_TYPEID,
name + QLatin1String(e.postFix),
abi, abi,
vcVarsBat, vcVarsBat,
QLatin1String(e.varsBatArg)); QLatin1String(e.varsBatArg));
tc->setDisplayName(name + QLatin1String(e.postFix));
tc->setDetection(ToolChain::AutoDetection); tc->setDetection(ToolChain::AutoDetection);
tc->setLanguage(language); tc->setLanguage(language);
list->append(tc); list->append(tc);
@@ -2032,7 +2027,10 @@ QList<ToolChain *> ClangClToolChainFactory::autoDetect(const QList<ToolChain *>
ToolChain *ClangClToolChainFactory::create() ToolChain *ClangClToolChainFactory::create()
{ {
return new ClangClToolChain("clang-cl", ""); // FIXME: Looks odd. Shouldn't clang-cl be the path?
auto tc = new ClangClToolChain("");
tc->setDisplayName("clang-cl");
return tc;
} }
bool MsvcToolChain::operator==(const ToolChain &other) const bool MsvcToolChain::operator==(const ToolChain &other) const
@@ -2152,9 +2150,10 @@ bool MsvcToolChainFactory::canCreate() const
ToolChain *MsvcToolChainFactory::create() ToolChain *MsvcToolChainFactory::create()
{ {
return new MsvcToolChain(Constants::MSVC_TOOLCHAIN_TYPEID, auto tc = new MsvcToolChain(Constants::MSVC_TOOLCHAIN_TYPEID,
"Microsoft Visual C++ Compiler", Abi::hostAbi(), g_availableMsvcToolchains.first()->varsBat(), "");
Abi::hostAbi(), g_availableMsvcToolchains.first()->varsBat(), ""); tc->setDisplayName("Microsoft Visual C++ Compiler");
return tc;
} }
MsvcToolChain::WarningFlagAdder::WarningFlagAdder(const QString &flag, WarningFlags &flags) MsvcToolChain::WarningFlagAdder::WarningFlagAdder(const QString &flag, WarningFlags &flags)

View File

@@ -58,7 +58,6 @@ public:
enum Platform { x86, amd64, x86_amd64, ia64, x86_ia64, arm, x86_arm, amd64_arm, amd64_x86 }; enum Platform { x86, amd64, x86_amd64, ia64, x86_ia64, arm, x86_arm, amd64_arm, amd64_x86 };
explicit MsvcToolChain(Core::Id typeId, explicit MsvcToolChain(Core::Id typeId,
const QString &name,
const Abi &abi, const Abi &abi,
const QString &varsBat, const QString &varsBat,
const QString &varsBatArg); const QString &varsBatArg);
@@ -173,7 +172,7 @@ protected:
class PROJECTEXPLORER_EXPORT ClangClToolChain : public MsvcToolChain class PROJECTEXPLORER_EXPORT ClangClToolChain : public MsvcToolChain
{ {
public: public:
ClangClToolChain(const QString &name, const QString &llvmDir); explicit ClangClToolChain(const QString &llvmDir);
ClangClToolChain(); ClangClToolChain();
bool isValid() const override; bool isValid() const override;