moc: Avoid non-deterministic output which causes unnecesary rebuilds

Change-Id: I4fdd2b37869ed73ede3a33b5adad94413bd43b01
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
bb10
Robin Burchell 2013-06-11 00:29:41 +02:00 committed by The Qt Project
parent f62c92ba84
commit fbcd6a29c1
1 changed files with 6 additions and 1 deletions

View File

@ -870,7 +870,12 @@ void Moc::generate(FILE *out)
findRequiredContainers(&classList[i], &requiredQtContainers);
}
foreach (const QByteArray &qtContainer, requiredQtContainers) {
// after finding the containers, we sort them into a list to avoid
// non-deterministic behavior which may cause rebuilds unnecessarily.
QList<QByteArray> requiredContainerList = requiredQtContainers.toList();
std::sort(requiredContainerList.begin(), requiredContainerList.end());
foreach (const QByteArray &qtContainer, requiredContainerList) {
fprintf(out, "#include <QtCore/%s>\n", qtContainer.constData());
}