diff options
author | Rafael Roquetto <rafael.roquetto.qnx@kdab.com> | 2012-06-08 15:20:35 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-12 04:30:00 +0200 |
commit | b87c5cff24229b1bcc77ac68699f2f03acabc9e7 (patch) | |
tree | b89e5bbc3e26033371c780b958405ee963c47127 /tools/configure/configureapp.cpp | |
parent | 8839109abe672107e763ebaceeaaa16d5bd6eefc (diff) |
Support other platform names on configure.exe
Added three new methods, which are meant to be used internally to
configureapp.cpp:
- int platform(): returns an integer representing a platform
- QString platformName(): returns the platform name string to be used when
displaying the license agreement.
- QString qpaPlatformName(): returns the value to be defined as
QT_QPA_DEFAULT_PLATFORM_NAME.
Currently supported names are Windows, Windows CE, QNX and Blackberry. Default
is "Windows".
Change-Id: Ifa4d1b9c02cda956be9becdf8db195d3d494f1d5
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Diffstat (limited to 'tools/configure/configureapp.cpp')
-rw-r--r-- | tools/configure/configureapp.cpp | 61 |
1 files changed, 55 insertions, 6 deletions
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 8c06a158cf..5a24e9b266 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -64,6 +64,13 @@ QT_BEGIN_NAMESPACE +enum Platforms { + WINDOWS, + WINDOWS_CE, + QNX, + BLACKBERRY +}; + std::ostream &operator<<(std::ostream &s, const QString &val) { s << val.toLocal8Bit().data(); return s; @@ -2961,7 +2968,7 @@ void Configure::generateConfigfiles() if (dictionary[ "QT_SXE" ] == "no") tmpStream<<"#define QT_NO_SXE"<<endl; - tmpStream<<"#define QT_QPA_DEFAULT_PLATFORM_NAME \"windows\""<<endl; + tmpStream<<"#define QT_QPA_DEFAULT_PLATFORM_NAME \"" << qpaPlatformName() << "\""<<endl; tmpStream.flush(); tmpFile.flush(); @@ -3699,11 +3706,7 @@ bool Configure::showLicense(QString orgLicenseFile) void Configure::readLicense() { - if (QFile::exists(dictionary["QT_SOURCE_TREE"] + "/src/corelib/kernel/qfunctions_wince.h") && - (dictionary.value("QMAKESPEC").startsWith("wince") || dictionary.value("XQMAKESPEC").startsWith("wince"))) - dictionary["PLATFORM NAME"] = "Qt for Windows CE"; - else - dictionary["PLATFORM NAME"] = "Qt for Windows"; + dictionary["PLATFORM NAME"] = platformName(); dictionary["LICENSE FILE"] = sourcePath; bool openSource = false; @@ -3809,6 +3812,52 @@ bool Configure::isOk() return (dictionary[ "DONE" ] != "error"); } +QString Configure::platformName() const +{ + switch (platform()) { + default: + case WINDOWS: + return QStringLiteral("Qt for Windows"); + case WINDOWS_CE: + return QStringLiteral("Qt for Windows CE"); + case QNX: + return QStringLiteral("Qt for QNX"); + case BLACKBERRY: + return QStringLiteral("Qt for Blackberry"); + } +} + +QString Configure::qpaPlatformName() const +{ + switch (platform()) { + default: + case WINDOWS: + case WINDOWS_CE: + return QStringLiteral("windows"); + case QNX: + return QStringLiteral("qnx"); + case BLACKBERRY: + return QStringLiteral("blackberry"); + } +} + +int Configure::platform() const +{ + const QString qMakeSpec = dictionary.value("QMAKESPEC"); + const QString xQMakeSpec = dictionary.value("XQMAKESPEC"); + + if ((qMakeSpec.startsWith("wince") || xQMakeSpec.startsWith("wince"))) + return WINDOWS_CE; + + if (xQMakeSpec.contains("qnx")) + return QNX; + + if (xQMakeSpec.contains("blackberry")) + return BLACKBERRY; + + return WINDOWS; +} + bool Configure::filesDiffer(const QString &fn1, const QString &fn2) { |