iOS: Refactor iOS tool chain and kit auto detection

It was all done in one huge, unreadable method.
The refactoring along-side fixes the following:

- iOS tool chains were demoted to manual at start up because there
  was no tool chain factory that would auto detect them
- a QTC_CHECK failed because single Qt Versions could appear multiple
  times in the architecture->Qt version map, because each architecture
  is present in two abis (32-bit and 64-bit)

The refactoring also removes unneeded automatic conversion
from non-iOS Qt version to iOS Qt version, and removes considering GCC
toolchains (which were not handled anyhow, because only Clang
"platforms" were considered).

Change-Id: Ic9ae797646f159ed45959fc797990aa98f2136fb
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
Eike Ziller
2015-10-09 09:50:07 +02:00
parent 09bc8af645
commit e3f770a50c
5 changed files with 251 additions and 289 deletions

View File

@@ -290,4 +290,24 @@ QMap<QString, Platform> IosProbe::detectedPlatforms()
return m_platforms;
}
QDebug operator<<(QDebug debug, const Platform &platform)
{
QDebugStateSaver saver(debug); Q_UNUSED(saver)
debug.nospace() << "(name=" << platform.name
<< ", compiler=" << platform.compilerPath.toString()
<< ", flags=" << platform.backendFlags
<< ")";
return debug;
}
bool Platform::operator==(const Platform &other) const
{
return name == other.name;
}
uint qHash(const Platform &platform)
{
return qHash(platform.name);
}
}