aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-10-26 15:54:34 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-10-26 15:54:34 +0200
commit87fbe18ca58c96a17136e2bc62ccfafcc9cd4ed2 (patch)
tree98dcb18081d3cd3f46938a6c9b06bc1a129027ce /src
parente46b1f09fca2af0782648d14cac401ec62ac46b4 (diff)
parent783f2f91854d9c0a3cacca668d52ea761cc2a1b8 (diff)
Merge 1.12 into master
Diffstat (limited to 'src')
-rw-r--r--src/lib/corelib/language/projectresolver.cpp2
-rw-r--r--src/lib/qtprofilesetup/qtprofilesetup.cpp51
2 files changed, 38 insertions, 15 deletions
diff --git a/src/lib/corelib/language/projectresolver.cpp b/src/lib/corelib/language/projectresolver.cpp
index 92c92fd4b..4f871c17f 100644
--- a/src/lib/corelib/language/projectresolver.cpp
+++ b/src/lib/corelib/language/projectresolver.cpp
@@ -1696,6 +1696,8 @@ QVariantMap ProjectResolver::evaluateModuleValues(Item *item, bool lookupPrototy
? &m_elapsedTimeModPropEval : nullptr);
QVariantMap moduleValues;
for (const Item::Module &module : item->modules()) {
+ if (!module.item->isPresentModule())
+ continue;
const QString fullName = module.name.toString();
moduleValues[fullName] = evaluateProperties(module.item, lookupPrototype, true);
}
diff --git a/src/lib/qtprofilesetup/qtprofilesetup.cpp b/src/lib/qtprofilesetup/qtprofilesetup.cpp
index 3bc21b279..804844d13 100644
--- a/src/lib/qtprofilesetup/qtprofilesetup.cpp
+++ b/src/lib/qtprofilesetup/qtprofilesetup.cpp
@@ -692,21 +692,36 @@ static QStringList fillEntryPointLibs(const QtEnvironment &qtEnvironment, const
bool debug)
{
QStringList result;
- QString qtmain = qtEnvironment.libraryPath + QLatin1Char('/');
const bool isMinGW = qtEnvironment.isForMinGw();
- if (isMinGW)
- qtmain += QLatin1String("lib");
- qtmain += QLatin1String("qtmain") + qtEnvironment.qtLibInfix;
- if (debug)
- qtmain += QLatin1Char('d');
- if (isMinGW) {
- qtmain += QLatin1String(".a");
- } else {
- qtmain += QLatin1String(".lib");
- if (qtVersion >= Version(5, 4, 0))
- result << QLatin1String("Shell32.lib");
+
+ // Some Linux distributions rename the qtmain library.
+ QStringList qtMainCandidates(QLatin1String("qtmain"));
+ if (isMinGW && qtEnvironment.qtMajorVersion == 5)
+ qtMainCandidates << QLatin1String("qt5main");
+
+ for (const QString &baseNameCandidate : qtMainCandidates) {
+ QString qtmain = qtEnvironment.libraryPath + QLatin1Char('/');
+ if (isMinGW)
+ qtmain += QLatin1String("lib");
+ qtmain += baseNameCandidate + qtEnvironment.qtLibInfix;
+ if (debug)
+ qtmain += QLatin1Char('d');
+ if (isMinGW) {
+ qtmain += QLatin1String(".a");
+ } else {
+ qtmain += QLatin1String(".lib");
+ if (qtVersion >= Version(5, 4, 0))
+ result << QLatin1String("Shell32.lib");
+ }
+ if (QFile::exists(qtmain)) {
+ result << qtmain;
+ break;
+ }
+ }
+ if (result.isEmpty()) {
+ qDebug("Warning: Could not find the qtmain library. "
+ "You will not be able to link Qt applications.");
}
- result << qtmain;
return result;
}
@@ -726,8 +741,14 @@ void doSetupQtProfile(const QString &profileName, Settings *settings,
const Version qtVersion = Version(qtEnvironment.qtMajorVersion,
qtEnvironment.qtMinorVersion,
qtEnvironment.qtPatchVersion);
- qtEnvironment.entryPointLibsDebug = fillEntryPointLibs(qtEnvironment, qtVersion, true);
- qtEnvironment.entryPointLibsRelease = fillEntryPointLibs(qtEnvironment, qtVersion, false);
+ if (qtEnvironment.buildVariant.contains(QLatin1String("debug"))) {
+ qtEnvironment.entryPointLibsDebug = fillEntryPointLibs(qtEnvironment, qtVersion,
+ true);
+ }
+ if (qtEnvironment.buildVariant.contains(QLatin1String("release"))) {
+ qtEnvironment.entryPointLibsRelease = fillEntryPointLibs(qtEnvironment, qtVersion,
+ false);
+ }
} else if (qtEnvironment.mkspecPath.contains(QLatin1String("macx"))) {
if (qtEnvironment.qtMajorVersion >= 5) {
QFile qmakeConf(qtEnvironment.mkspecPath + QStringLiteral("/qmake.conf"));