aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/qtprofilesetup/qtmoduleinfo.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@digia.com>2014-08-20 12:26:40 +0200
committerJoerg Bornemann <joerg.bornemann@digia.com>2014-08-20 15:30:59 +0200
commitdac0cb30fca48f916eedfeb1cd0b49df44538567 (patch)
treef1fb491d4d28aece4595a9c80985768e5d44f9ab /src/lib/qtprofilesetup/qtmoduleinfo.cpp
parent938d9159810b5525e09325ce61759b29fa3d51af (diff)
libqtprofilesetup: Complain only once per missing prl file.
The message currently appears up to four times per file, which is annoying. Change-Id: I96b7192d81fd0fc9a70903d695b7c000cfef1807 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'src/lib/qtprofilesetup/qtmoduleinfo.cpp')
-rw-r--r--src/lib/qtprofilesetup/qtmoduleinfo.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/lib/qtprofilesetup/qtmoduleinfo.cpp b/src/lib/qtprofilesetup/qtmoduleinfo.cpp
index 1ef9beece..9082e9890 100644
--- a/src/lib/qtprofilesetup/qtmoduleinfo.cpp
+++ b/src/lib/qtprofilesetup/qtmoduleinfo.cpp
@@ -114,10 +114,10 @@ QString QtModuleInfo::libNameForLinker(const QtEnvironment &qtEnvironment, bool
return libName;
}
-void QtModuleInfo::setupLibraries(const QtEnvironment &qtEnv)
+void QtModuleInfo::setupLibraries(const QtEnvironment &qtEnv, QSet<QString> *nonExistingPrlFiles)
{
- setupLibraries(qtEnv, true);
- setupLibraries(qtEnv, false);
+ setupLibraries(qtEnv, true, nonExistingPrlFiles);
+ setupLibraries(qtEnv, false, nonExistingPrlFiles);
}
static QStringList makeList(const QByteArray &s)
@@ -125,7 +125,8 @@ static QStringList makeList(const QByteArray &s)
return QString::fromLatin1(s).split(QLatin1Char(' '), QString::SkipEmptyParts);
}
-void QtModuleInfo::setupLibraries(const QtEnvironment &qtEnv, bool debugBuild)
+void QtModuleInfo::setupLibraries(const QtEnvironment &qtEnv, bool debugBuild,
+ QSet<QString> *nonExistingPrlFiles)
{
QStringList &libs = isStaticLibrary
? (debugBuild ? staticLibrariesDebug : staticLibrariesRelease)
@@ -156,6 +157,8 @@ void QtModuleInfo::setupLibraries(const QtEnvironment &qtEnv, bool debugBuild)
if (!qtEnv.mkspecName.contains(QLatin1String("win")) && !qtEnv.frameworkBuild)
prlFilePath += QLatin1String("lib");
prlFilePath.append(libraryBaseName(qtEnv, debugBuild)).append(QLatin1String(".prl"));
+ if (nonExistingPrlFiles->contains(prlFilePath))
+ return;
QFile prlFile(prlFilePath);
if (!prlFile.open(QIODevice::ReadOnly)) {
// We can't error out here, as some modules in a self-built Qt don't have the expected
@@ -163,6 +166,7 @@ void QtModuleInfo::setupLibraries(const QtEnvironment &qtEnv, bool debugBuild)
// to work around, so let's ignore it.
qDebug("Skipping prl file '%s', because it cannot be opened (%s).", qPrintable(prlFilePath),
qPrintable(prlFile.errorString()));
+ nonExistingPrlFiles->insert(prlFilePath);
return;
}
const QList<QByteArray> prlLines = prlFile.readAll().split('\n');
@@ -385,6 +389,7 @@ static void replaceQtLibNamesWithFilePath(const NamePathHash &namePathHash, QStr
QList<QtModuleInfo> allQt5Modules(const Profile &profile, const QtEnvironment &qtEnvironment)
{
+ QSet<QString> nonExistingPrlFiles;
QList<QtModuleInfo> modules;
QDirIterator dit(qtEnvironment.mkspecBasePath + QLatin1String("/modules"));
while (dit.hasNext()) {
@@ -478,7 +483,7 @@ QList<QtModuleInfo> allQt5Modules(const Profile &profile, const QtEnvironment &q
}
}
- moduleInfo.setupLibraries(qtEnvironment);
+ moduleInfo.setupLibraries(qtEnvironment, &nonExistingPrlFiles);
modules << moduleInfo;
if (moduleInfo.qbsName == QLatin1String("testlib"))