summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2010-11-25 20:53:52 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2010-11-25 20:53:52 (GMT)
commitccebbb663a1b21204057d8b799de3ddf1b63307e (patch)
treeb166fa2adbe5d7ab807189b2eb84edb4b5c0facb /qmake
parent8deaf82914c5ec8da7bc49f913d03a3754e1af0c (diff)
parent68affbdc60b6cc48b6e7786ffffe2b7512cade64 (diff)
downloadQt-ccebbb663a1b21204057d8b799de3ddf1b63307e.zip
Qt-ccebbb663a1b21204057d8b799de3ddf1b63307e.tar.gz
Qt-ccebbb663a1b21204057d8b799de3ddf1b63307e.tar.bz2
Merge branch 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into master-integration
* 'master' of scm.dev.nokia.troll.no:qt/oslo-staging-1: fix performance penalty in Win32MakefileGenerator::findHighestVersion Allow QDial to wrap value when wrapping property is set. QtScript variant conversion: Convert numbers to (u)int if applicable (reviewed by khansen)
Diffstat (limited to 'qmake')
-rw-r--r--qmake/generators/win32/winmakefile.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/qmake/generators/win32/winmakefile.cpp b/qmake/generators/win32/winmakefile.cpp
index 5f56d66..8cf970e 100644
--- a/qmake/generators/win32/winmakefile.cpp
+++ b/qmake/generators/win32/winmakefile.cpp
@@ -78,8 +78,14 @@ Win32MakefileGenerator::findHighestVersion(const QString &d, const QString &stem
int biggest=-1;
if(!project->isActiveConfig("no_versionlink")) {
- QDir dir(bd);
- QStringList entries = dir.entryList();
+ static QHash<QString, QStringList> dirEntryListCache;
+ QStringList entries = dirEntryListCache.value(bd);
+ if (entries.isEmpty()) {
+ QDir dir(bd);
+ entries = dir.entryList();
+ dirEntryListCache.insert(bd, entries);
+ }
+
QRegExp regx(QString("((lib)?%1([0-9]*)).(%2|prl)$").arg(dllStem).arg(ext), Qt::CaseInsensitive);
for(QStringList::Iterator it = entries.begin(); it != entries.end(); ++it) {
if(regx.exactMatch((*it))) {