forked from qt-creator/qt-creator
ToolChainFactory: Add support for different languages
* Add a pure virtual method to get supportedLanguges with Change-Id: Ida4445ca045c90fb9f7656a661af83e5b6801b30 Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
This commit is contained in:
@@ -263,6 +263,11 @@ AndroidToolChainFactory::AndroidToolChainFactory()
|
|||||||
setDisplayName(tr("Android GCC"));
|
setDisplayName(tr("Android GCC"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSet<ToolChain::Language> Android::Internal::AndroidToolChainFactory::supportedLanguages() const
|
||||||
|
{
|
||||||
|
return { ToolChain::Language::Cxx };
|
||||||
|
}
|
||||||
|
|
||||||
QList<ToolChain *> AndroidToolChainFactory::autoDetect(const QList<ToolChain *> &alreadyKnown)
|
QList<ToolChain *> AndroidToolChainFactory::autoDetect(const QList<ToolChain *> &alreadyKnown)
|
||||||
{
|
{
|
||||||
return autodetectToolChainsForNdk(AndroidConfigurations::currentConfig().ndkLocation(), alreadyKnown);
|
return autodetectToolChainsForNdk(AndroidConfigurations::currentConfig().ndkLocation(), alreadyKnown);
|
||||||
|
|||||||
@@ -95,6 +95,7 @@ class AndroidToolChainFactory : public ProjectExplorer::ToolChainFactory
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
AndroidToolChainFactory();
|
AndroidToolChainFactory();
|
||||||
|
QSet<ProjectExplorer::ToolChain::Language> supportedLanguages() const override;
|
||||||
|
|
||||||
QList<ProjectExplorer::ToolChain *> autoDetect(const QList<ProjectExplorer::ToolChain *> &alreadyKnown) override;
|
QList<ProjectExplorer::ToolChain *> autoDetect(const QList<ProjectExplorer::ToolChain *> &alreadyKnown) override;
|
||||||
bool canRestore(const QVariantMap &data) override;
|
bool canRestore(const QVariantMap &data) override;
|
||||||
|
|||||||
@@ -363,6 +363,11 @@ static ClangToolChain *createToolChain(const Platform &platform)
|
|||||||
return toolChain;
|
return toolChain;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSet<ToolChain::Language> IosToolChainFactory::supportedLanguages() const
|
||||||
|
{
|
||||||
|
return { ProjectExplorer::ToolChain::Language::Cxx };
|
||||||
|
}
|
||||||
|
|
||||||
QList<ToolChain *> IosToolChainFactory::autoDetect(const QList<ToolChain *> &existingToolChains)
|
QList<ToolChain *> IosToolChainFactory::autoDetect(const QList<ToolChain *> &existingToolChains)
|
||||||
{
|
{
|
||||||
QList<ClangToolChain *> existingClangToolChains = clangToolChains(existingToolChains);
|
QList<ClangToolChain *> existingClangToolChains = clangToolChains(existingToolChains);
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ class IosToolChainFactory : public ProjectExplorer::ToolChainFactory
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
QSet<ProjectExplorer::ToolChain::Language> supportedLanguages() const override;
|
||||||
QList<ProjectExplorer::ToolChain *> autoDetect(const QList<ProjectExplorer::ToolChain *> &existingToolChains) override;
|
QList<ProjectExplorer::ToolChain *> autoDetect(const QList<ProjectExplorer::ToolChain *> &existingToolChains) override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -432,6 +432,11 @@ CustomToolChainFactory::CustomToolChainFactory()
|
|||||||
setDisplayName(tr("Custom"));
|
setDisplayName(tr("Custom"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSet<ToolChain::Language> CustomToolChainFactory::supportedLanguages() const
|
||||||
|
{
|
||||||
|
return { ToolChain::Language::Cxx };
|
||||||
|
}
|
||||||
|
|
||||||
bool CustomToolChainFactory::canCreate()
|
bool CustomToolChainFactory::canCreate()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -147,6 +147,7 @@ class CustomToolChainFactory : public ToolChainFactory
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
CustomToolChainFactory();
|
CustomToolChainFactory();
|
||||||
|
QSet<ToolChain::Language> supportedLanguages() const override;
|
||||||
|
|
||||||
bool canCreate() override;
|
bool canCreate() override;
|
||||||
ToolChain *create() override;
|
ToolChain *create() override;
|
||||||
|
|||||||
@@ -769,6 +769,11 @@ GccToolChainFactory::GccToolChainFactory()
|
|||||||
setDisplayName(tr("GCC"));
|
setDisplayName(tr("GCC"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSet<ToolChain::Language> GccToolChainFactory::supportedLanguages() const
|
||||||
|
{
|
||||||
|
return { ToolChain::Language::Cxx };
|
||||||
|
}
|
||||||
|
|
||||||
bool GccToolChainFactory::canCreate()
|
bool GccToolChainFactory::canCreate()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
@@ -1134,6 +1139,11 @@ ClangToolChainFactory::ClangToolChainFactory()
|
|||||||
setDisplayName(tr("Clang"));
|
setDisplayName(tr("Clang"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSet<ToolChain::Language> ClangToolChainFactory::supportedLanguages() const
|
||||||
|
{
|
||||||
|
return { ProjectExplorer::ToolChain::Language::Cxx };
|
||||||
|
}
|
||||||
|
|
||||||
QList<ToolChain *> ClangToolChainFactory::autoDetect(const QList<ToolChain *> &alreadyKnown)
|
QList<ToolChain *> ClangToolChainFactory::autoDetect(const QList<ToolChain *> &alreadyKnown)
|
||||||
{
|
{
|
||||||
return autoDetectToolchains(QLatin1String("clang++"), Abi::hostAbi(),
|
return autoDetectToolchains(QLatin1String("clang++"), Abi::hostAbi(),
|
||||||
@@ -1213,6 +1223,11 @@ MingwToolChainFactory::MingwToolChainFactory()
|
|||||||
setDisplayName(tr("MinGW"));
|
setDisplayName(tr("MinGW"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSet<ToolChain::Language> MingwToolChainFactory::supportedLanguages() const
|
||||||
|
{
|
||||||
|
return { ProjectExplorer::ToolChain::Language::Cxx };
|
||||||
|
}
|
||||||
|
|
||||||
QList<ToolChain *> MingwToolChainFactory::autoDetect(const QList<ToolChain *> &alreadyKnown)
|
QList<ToolChain *> MingwToolChainFactory::autoDetect(const QList<ToolChain *> &alreadyKnown)
|
||||||
{
|
{
|
||||||
Abi ha = Abi::hostAbi();
|
Abi ha = Abi::hostAbi();
|
||||||
@@ -1291,6 +1306,11 @@ LinuxIccToolChainFactory::LinuxIccToolChainFactory()
|
|||||||
setDisplayName(tr("Linux ICC"));
|
setDisplayName(tr("Linux ICC"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSet<ToolChain::Language> LinuxIccToolChainFactory::supportedLanguages() const
|
||||||
|
{
|
||||||
|
return { ProjectExplorer::ToolChain::Language::Cxx };
|
||||||
|
}
|
||||||
|
|
||||||
QList<ToolChain *> LinuxIccToolChainFactory::autoDetect(const QList<ToolChain *> &alreadyKnown)
|
QList<ToolChain *> LinuxIccToolChainFactory::autoDetect(const QList<ToolChain *> &alreadyKnown)
|
||||||
{
|
{
|
||||||
return autoDetectToolchains(QLatin1String("icpc"), Abi::hostAbi(),
|
return autoDetectToolchains(QLatin1String("icpc"), Abi::hostAbi(),
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ class GccToolChainFactory : public ToolChainFactory
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
GccToolChainFactory();
|
GccToolChainFactory();
|
||||||
|
QSet<ToolChain::Language> supportedLanguages() const override;
|
||||||
|
|
||||||
QList<ToolChain *> autoDetect(const QList<ToolChain *> &alreadyKnown) override;
|
QList<ToolChain *> autoDetect(const QList<ToolChain *> &alreadyKnown) override;
|
||||||
|
|
||||||
@@ -108,6 +109,7 @@ class ClangToolChainFactory : public GccToolChainFactory
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
ClangToolChainFactory();
|
ClangToolChainFactory();
|
||||||
|
QSet<ToolChain::Language> supportedLanguages() const override;
|
||||||
|
|
||||||
QList<ToolChain *> autoDetect(const QList<ToolChain *> &alreadyKnown) override;
|
QList<ToolChain *> autoDetect(const QList<ToolChain *> &alreadyKnown) override;
|
||||||
|
|
||||||
@@ -127,6 +129,7 @@ class MingwToolChainFactory : public GccToolChainFactory
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
MingwToolChainFactory();
|
MingwToolChainFactory();
|
||||||
|
QSet<ToolChain::Language> supportedLanguages() const override;
|
||||||
|
|
||||||
QList<ToolChain *> autoDetect(const QList<ToolChain *> &alreadyKnown) override;
|
QList<ToolChain *> autoDetect(const QList<ToolChain *> &alreadyKnown) override;
|
||||||
|
|
||||||
@@ -146,6 +149,7 @@ class LinuxIccToolChainFactory : public GccToolChainFactory
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
LinuxIccToolChainFactory();
|
LinuxIccToolChainFactory();
|
||||||
|
QSet<ToolChain::Language> supportedLanguages() const override;
|
||||||
|
|
||||||
QList<ToolChain *> autoDetect(const QList<ToolChain *> &alreadyKnown) override;
|
QList<ToolChain *> autoDetect(const QList<ToolChain *> &alreadyKnown) override;
|
||||||
|
|
||||||
|
|||||||
@@ -572,6 +572,11 @@ MsvcToolChainFactory::MsvcToolChainFactory()
|
|||||||
setDisplayName(tr("MSVC"));
|
setDisplayName(tr("MSVC"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSet<ToolChain::Language> MsvcToolChainFactory::supportedLanguages() const
|
||||||
|
{
|
||||||
|
return { ProjectExplorer::ToolChain::Language::Cxx };
|
||||||
|
}
|
||||||
|
|
||||||
bool MsvcToolChainFactory::checkForVisualStudioInstallation(const QString &vsName)
|
bool MsvcToolChainFactory::checkForVisualStudioInstallation(const QString &vsName)
|
||||||
{
|
{
|
||||||
const QSettings vsRegistry(
|
const QSettings vsRegistry(
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ class MsvcToolChainFactory : public ToolChainFactory
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
MsvcToolChainFactory();
|
MsvcToolChainFactory();
|
||||||
|
QSet<ToolChain::Language> supportedLanguages() const override;
|
||||||
|
|
||||||
QList<ToolChain *> autoDetect(const QList<ToolChain *> &alreadyKnown) override;
|
QList<ToolChain *> autoDetect(const QList<ToolChain *> &alreadyKnown) override;
|
||||||
|
|
||||||
|
|||||||
@@ -175,6 +175,8 @@ public:
|
|||||||
static Core::Id typeIdFromMap(const QVariantMap &data);
|
static Core::Id typeIdFromMap(const QVariantMap &data);
|
||||||
static void autoDetectionToMap(QVariantMap &data, bool detected);
|
static void autoDetectionToMap(QVariantMap &data, bool detected);
|
||||||
|
|
||||||
|
virtual QSet<ToolChain::Language> supportedLanguages() const = 0;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void setDisplayName(const QString &name) { m_displayName = name; }
|
void setDisplayName(const QString &name) { m_displayName = name; }
|
||||||
|
|
||||||
|
|||||||
@@ -348,6 +348,11 @@ WinCEToolChainFactory::WinCEToolChainFactory()
|
|||||||
setDisplayName(tr("WinCE"));
|
setDisplayName(tr("WinCE"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSet<ToolChain::Language> WinCEToolChainFactory::supportedLanguages() const
|
||||||
|
{
|
||||||
|
return { ProjectExplorer::ToolChain::Language::Cxx };
|
||||||
|
}
|
||||||
|
|
||||||
static ToolChain *findOrCreateToolChain(const QList<ToolChain *> &alreadyKnown,
|
static ToolChain *findOrCreateToolChain(const QList<ToolChain *> &alreadyKnown,
|
||||||
const QString &name, const Abi &abi,
|
const QString &name, const Abi &abi,
|
||||||
const QString &vcvarsBat, const QString &msvcVer,
|
const QString &vcvarsBat, const QString &msvcVer,
|
||||||
|
|||||||
@@ -106,6 +106,7 @@ class WinCEToolChainFactory : public ToolChainFactory
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
WinCEToolChainFactory();
|
WinCEToolChainFactory();
|
||||||
|
QSet<ToolChain::Language> supportedLanguages() const override;
|
||||||
|
|
||||||
QList<ToolChain *> autoDetect(const QList<ToolChain *> &alreadyKnown) override;
|
QList<ToolChain *> autoDetect(const QList<ToolChain *> &alreadyKnown) override;
|
||||||
|
|
||||||
|
|||||||
@@ -160,6 +160,11 @@ QnxToolChainFactory::QnxToolChainFactory()
|
|||||||
setDisplayName(tr("QCC"));
|
setDisplayName(tr("QCC"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QSet<ToolChain::Language> QnxToolChainFactory::supportedLanguages() const
|
||||||
|
{
|
||||||
|
return { ProjectExplorer::ToolChain::Language::Cxx };
|
||||||
|
}
|
||||||
|
|
||||||
bool QnxToolChainFactory::canRestore(const QVariantMap &data)
|
bool QnxToolChainFactory::canRestore(const QVariantMap &data)
|
||||||
{
|
{
|
||||||
return typeIdFromMap(data) == Constants::QNX_TOOLCHAIN_ID;
|
return typeIdFromMap(data) == Constants::QNX_TOOLCHAIN_ID;
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ class QnxToolChainFactory : public ProjectExplorer::ToolChainFactory
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
QnxToolChainFactory();
|
QnxToolChainFactory();
|
||||||
|
QSet<ProjectExplorer::ToolChain::Language> supportedLanguages() const override;
|
||||||
|
|
||||||
bool canRestore(const QVariantMap &data) override;
|
bool canRestore(const QVariantMap &data) override;
|
||||||
ProjectExplorer::ToolChain *restore(const QVariantMap &data) override;
|
ProjectExplorer::ToolChain *restore(const QVariantMap &data) override;
|
||||||
|
|||||||
Reference in New Issue
Block a user