Custom targets can set QtVersion to support id and set abis

QtVersion targetIds and abis set are forced
updateAbiAndMkspec() wont reset them
(cherry picked from commit 1c86ab05a73838e8127984f1cc0220d4de90eea5)

Change-Id: I1c86ab05a73838e8127984f1cc0220d4de90eea5x
Merge-request: 2193
Reviewed-on: http://codereview.qt.nokia.com/396
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
Tommi Asp
2011-05-04 16:37:56 +03:00
committed by Oswald Buddenhagen
parent 3f44219a9b
commit 462278b071
2 changed files with 23 additions and 0 deletions

View File

@@ -1413,21 +1413,39 @@ QString QtVersion::systemRoot() const
bool QtVersion::supportsTargetId(const QString &id) const
{
updateAbiAndMkspec();
if (!m_forcedTargetIds.isEmpty())
return m_forcedTargetIds.contains(id);
return m_targetIds.contains(id);
}
QSet<QString> QtVersion::supportedTargetIds() const
{
updateAbiAndMkspec();
if (!m_forcedTargetIds.isEmpty())
return m_forcedTargetIds;
return m_targetIds;
}
QList<ProjectExplorer::Abi> QtVersion::qtAbis() const
{
updateAbiAndMkspec();
if (!m_forcedAbis.isEmpty())
return m_forcedAbis;
return m_abis;
}
void QtVersion::setForcedTargetIds(const QSet<QString> &ids)
{
updateAbiAndMkspec();
m_forcedTargetIds = ids;
}
void QtVersion::setForcedQtAbis(const QList<ProjectExplorer::Abi> &abis)
{
updateAbiAndMkspec();
m_forcedAbis = abis;
}
// if none, then it's INVALID everywhere this function is called
void QtVersion::updateAbiAndMkspec() const
{

View File

@@ -118,6 +118,9 @@ public:
QList<ProjectExplorer::Abi> qtAbis() const;
void setForcedTargetIds(const QSet<QString> &ids);
void setForcedQtAbis(const QList<ProjectExplorer::Abi> &abis);
/// @returns the name of the mkspec, which is generally not enough
/// to pass to qmake.
QString mkspec() const;
@@ -221,6 +224,7 @@ private:
mutable QString m_mkspec; // updated lazily
mutable QString m_mkspecFullPath;
mutable QList<ProjectExplorer::Abi> m_abis;
mutable QList<ProjectExplorer::Abi> m_forcedAbis;
mutable bool m_versionInfoUpToDate;
mutable QHash<QString,QString> m_versionInfo; // updated lazily
@@ -238,6 +242,7 @@ private:
mutable QString m_linguistCommand;
mutable QString m_qmlviewerCommand;
mutable QSet<QString> m_targetIds;
mutable QSet<QString> m_forcedTargetIds;
mutable bool m_isBuildUsingSbsV2;
mutable bool m_qmakeIsExecutable;