forked from qt-creator/qt-creator
Fix: do not put in duplicate definitions.
Change-Id: Ia3f248d013a1b4f98ad3e85d13cfcf214d3c97c7 Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
This commit is contained in:
@@ -812,12 +812,21 @@ QStringList CppModelManager::internalFrameworkPaths() const
|
|||||||
QByteArray CppModelManager::internalDefinedMacros() const
|
QByteArray CppModelManager::internalDefinedMacros() const
|
||||||
{
|
{
|
||||||
QByteArray macros;
|
QByteArray macros;
|
||||||
|
QSet<QByteArray> alreadyIn;
|
||||||
QMapIterator<ProjectExplorer::Project *, ProjectInfo> it(m_projects);
|
QMapIterator<ProjectExplorer::Project *, ProjectInfo> it(m_projects);
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
it.next();
|
it.next();
|
||||||
ProjectInfo pinfo = it.value();
|
ProjectInfo pinfo = it.value();
|
||||||
foreach (const ProjectPart::Ptr &part, pinfo.projectParts())
|
foreach (const ProjectPart::Ptr &part, pinfo.projectParts()) {
|
||||||
macros += part->defines;
|
const QList<QByteArray> defs = part->defines.split('\n');
|
||||||
|
foreach (const QByteArray &def, defs) {
|
||||||
|
if (!alreadyIn.contains(def)) {
|
||||||
|
macros += def;
|
||||||
|
macros.append('\n');
|
||||||
|
alreadyIn.insert(def);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return macros;
|
return macros;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user