forked from qt-creator/qt-creator
ProjectExplorer: Added support for registering custom languages
Change-Id: I728a2ed1ef7d9f44d7c2b59d27d6e23444cd3bb5 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This commit is contained in:
@@ -63,14 +63,14 @@ static const char ANDROID_NDK_TC_VERION[] = "Qt4ProjectManager.Android.NDK_TC_VE
|
||||
QHash<Abi, QList<int> > AndroidToolChainFactory::m_newestVersionForAbi;
|
||||
FileName AndroidToolChainFactory::m_ndkLocation;
|
||||
|
||||
AndroidToolChain::AndroidToolChain(const Abi &abi, const QString &ndkToolChainVersion, Language l, Detection d)
|
||||
AndroidToolChain::AndroidToolChain(const Abi &abi, const QString &ndkToolChainVersion, Core::Id l, Detection d)
|
||||
: GccToolChain(Constants::ANDROID_TOOLCHAIN_ID, d),
|
||||
m_ndkToolChainVersion(ndkToolChainVersion), m_secondaryToolChain(false)
|
||||
{
|
||||
setLanguage(l);
|
||||
setTargetAbi(abi);
|
||||
setDisplayName(QString::fromLatin1("Android GCC (%1, %2-%3)")
|
||||
.arg(ToolChain::languageDisplayName(l),
|
||||
.arg(ToolChainManager::displayNameOfLanguageId(l),
|
||||
AndroidConfig::displayName(targetAbi()),
|
||||
ndkToolChainVersion));
|
||||
}
|
||||
@@ -264,9 +264,9 @@ AndroidToolChainFactory::AndroidToolChainFactory()
|
||||
setDisplayName(tr("Android GCC"));
|
||||
}
|
||||
|
||||
QSet<ToolChain::Language> Android::Internal::AndroidToolChainFactory::supportedLanguages() const
|
||||
QSet<Core::Id> Android::Internal::AndroidToolChainFactory::supportedLanguages() const
|
||||
{
|
||||
return { ToolChain::Language::Cxx };
|
||||
return { ProjectExplorer::Constants::CXX_LANGUAGE_ID };
|
||||
}
|
||||
|
||||
QList<ToolChain *> AndroidToolChainFactory::autoDetect(const QList<ToolChain *> &alreadyKnown)
|
||||
@@ -303,7 +303,8 @@ QList<AndroidToolChainFactory::AndroidToolChainInformation> AndroidToolChainFact
|
||||
int idx = versionRegExp.indexIn(fileName);
|
||||
if (idx == -1)
|
||||
continue;
|
||||
for (const ToolChain::Language lang : { ToolChain::Language::Cxx, ToolChain::Language::C }) {
|
||||
for (const Core::Id lang : { ProjectExplorer::Constants::CXX_LANGUAGE_ID,
|
||||
ProjectExplorer::Constants::C_LANGUAGE_ID }) {
|
||||
AndroidToolChainInformation ati;
|
||||
ati.language = lang;
|
||||
ati.version = fileName.mid(idx + 1);
|
||||
@@ -364,7 +365,7 @@ bool AndroidToolChainFactory::versionCompareLess(QList<AndroidToolChain *> atc,
|
||||
return versionCompareLess(a, b);
|
||||
}
|
||||
|
||||
static AndroidToolChain *findToolChain(Utils::FileName &compilerPath, ToolChain::Language lang,
|
||||
static AndroidToolChain *findToolChain(Utils::FileName &compilerPath, Core::Id lang,
|
||||
const QList<ToolChain *> &alreadyKnown)
|
||||
{
|
||||
return static_cast<AndroidToolChain *>(
|
||||
@@ -400,7 +401,7 @@ AndroidToolChainFactory::autodetectToolChainsForNdk(const FileName &ndkPath,
|
||||
if (abi.architecture() == Abi::UnknownArchitecture) // e.g. mipsel which is not yet supported
|
||||
continue;
|
||||
QList<AndroidToolChain *> toolChainBundle;
|
||||
for (ToolChain::Language lang : { ToolChain::Language::Cxx, ToolChain::Language::C }) {
|
||||
for (Core::Id lang : { ProjectExplorer::Constants::CXX_LANGUAGE_ID, ProjectExplorer::Constants::C_LANGUAGE_ID }) {
|
||||
FileName compilerPath = AndroidConfigurations::currentConfig().gccPath(abi, lang, version);
|
||||
|
||||
AndroidToolChain *tc = findToolChain(compilerPath, lang, alreadyKnown);
|
||||
|
||||
Reference in New Issue
Block a user