aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-01-12 12:50:42 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2018-01-15 15:54:18 +0000
commitd9b6a84900552b55117c8034743964726c2bc102 (patch)
tree26f8bf0ce54c3998cfa7e2dccdaaa090d3235cbe
parentb08481ec22ffb42f6ce36ccdee57c60724c44bf4 (diff)
Qt module templates: Fix for Qt 4
- Qt.phonon is special. - QT_ARCH has bogus value on Windows. Change-Id: I2f429463acb70a0871f9557c8124e980639e4698 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
-rw-r--r--src/lib/qtprofilesetup/qtmoduleinfo.cpp5
-rw-r--r--src/lib/qtprofilesetup/qtprofilesetup.cpp5
-rw-r--r--src/lib/qtprofilesetup/templates/QtModule.qbs2
-rw-r--r--src/lib/qtprofilesetup/templates/core.qbs2
-rw-r--r--src/lib/qtprofilesetup/templates/phonon.qbs19
5 files changed, 30 insertions, 3 deletions
diff --git a/src/lib/qtprofilesetup/qtmoduleinfo.cpp b/src/lib/qtprofilesetup/qtmoduleinfo.cpp
index 28152ddd8..3cebc25a6 100644
--- a/src/lib/qtprofilesetup/qtmoduleinfo.cpp
+++ b/src/lib/qtprofilesetup/qtmoduleinfo.cpp
@@ -108,6 +108,8 @@ QtModuleInfo::QtModuleInfo(const QString &name, const QString &qbsName, const QS
QString QtModuleInfo::moduleNameWithoutPrefix() const
{
+ if (name == QLatin1String("Phonon"))
+ return QLatin1String("phonon");
if (modulePrefix.isEmpty() && name.startsWith(QLatin1String("Qt")))
return name.mid(2); // Strip off "Qt".
if (name.startsWith(modulePrefix))
@@ -141,7 +143,8 @@ QString QtModuleInfo::libraryBaseName(const QtEnvironment &qtEnvironment,
// Some modules use a different naming scheme, so it doesn't get boring.
const bool libNameBroken = name == QLatin1String("Enginio")
- || name == QLatin1String("DataVisualization");
+ || name == QLatin1String("DataVisualization")
+ || name == QLatin1String("Phonon");
QString libName = modulePrefix.isEmpty() && !libNameBroken ? QLatin1String("Qt") : modulePrefix;
if (qtEnvironment.qtMajorVersion >= 5 && !isFramework(qtEnvironment) && !libNameBroken)
diff --git a/src/lib/qtprofilesetup/qtprofilesetup.cpp b/src/lib/qtprofilesetup/qtprofilesetup.cpp
index 8e401f2bb..e76e98b60 100644
--- a/src/lib/qtprofilesetup/qtprofilesetup.cpp
+++ b/src/lib/qtprofilesetup/qtprofilesetup.cpp
@@ -152,6 +152,11 @@ static QString extractQbsArch(const QtEnvironment &qtEnv)
QString qbsArch = canonicalArchitecture(qtEnv.architecture);
if (qbsArch == QLatin1String("arm") && qtEnv.mkspecPath.contains(QLatin1String("android")))
qbsArch = QLatin1String("armv7a");
+
+ // Qt4 has "QT_ARCH = windows" in qconfig.pri for both MSVC and mingw.
+ if (qbsArch == QLatin1String("windows"))
+ qbsArch = QString();
+
return qbsArch;
}
diff --git a/src/lib/qtprofilesetup/templates/QtModule.qbs b/src/lib/qtprofilesetup/templates/QtModule.qbs
index 6291bae01..8b7de3675 100644
--- a/src/lib/qtprofilesetup/templates/QtModule.qbs
+++ b/src/lib/qtprofilesetup/templates/QtModule.qbs
@@ -2,7 +2,7 @@ import qbs 1.0
import qbs.FileInfo
Module {
- condition: !qbs.architecture || architecture === qbs.architecture
+ condition: !qbs.architecture || !architecture || architecture === qbs.architecture
Depends { name: "cpp" }
Depends { name: "Qt.core" }
diff --git a/src/lib/qtprofilesetup/templates/core.qbs b/src/lib/qtprofilesetup/templates/core.qbs
index 92395d07b..cf79b6837 100644
--- a/src/lib/qtprofilesetup/templates/core.qbs
+++ b/src/lib/qtprofilesetup/templates/core.qbs
@@ -8,7 +8,7 @@ import "moc.js" as Moc
import "qdoc.js" as Qdoc
Module {
- condition: !qbs.architecture || architecture === qbs.architecture
+ condition: !qbs.architecture || !architecture || architecture === qbs.architecture
id: qtcore
diff --git a/src/lib/qtprofilesetup/templates/phonon.qbs b/src/lib/qtprofilesetup/templates/phonon.qbs
index ea8434783..34bd51d9e 100644
--- a/src/lib/qtprofilesetup/templates/phonon.qbs
+++ b/src/lib/qtprofilesetup/templates/phonon.qbs
@@ -4,6 +4,25 @@ import '../QtModule.qbs' as QtModule
QtModule {
qtModuleName: "phonon"
Depends { name: "Qt"; submodules: ['core'] }
+
+ architecture: @arch@
+ hasLibrary: @has_library@
+ staticLibsDebug: @staticLibsDebug@
+ staticLibsRelease: @staticLibsRelease@
+ dynamicLibsDebug: @dynamicLibsDebug@
+ dynamicLibsRelease: @dynamicLibsRelease@
+ linkerFlagsDebug: @linkerFlagsDebug@
+ linkerFlagsRelease: @linkerFlagsRelease@
+ frameworksDebug: @frameworksDebug@
+ frameworksRelease: @frameworksRelease@
+ frameworkPathsDebug: @frameworkPathsDebug@
+ frameworkPathsRelease: @frameworkPathsRelease@
+ libNameForLinkerDebug: @libNameForLinkerDebug@
+ libNameForLinkerRelease: @libNameForLinkerRelease@
+ libFilePathDebug: @libFilePathDebug@
+ libFilePathRelease: @libFilePathRelease@
cpp.defines: @defines@
cpp.includePaths: @includes@
+ cpp.libraryPaths: @libraryPaths@
+ @special_properties@
}