From 3adc85861ca94c3c6c3e0ae161f0cf07c7f54cc8 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 31 Jan 2017 17:59:42 +0100 Subject: Bump required Qt version to 5.6 It seems natural to use the LTS release as the minimum required version, and we get rid of a number of #ifdefs. [ChangeLog] Building qbs now requires Qt 5.6 Change-Id: I327ebb179a20e6372fa5ae765e0f3753fb9e9efa Reviewed-by: Jake Petroules Reviewed-by: Joerg Bornemann --- README | 4 ++-- doc/qbs.qdoc | 2 +- qbs-resources/imports/QbsProduct.qbs | 2 +- qbs.pro | 4 ++-- src/lib/corelib/buildgraph/rulecommands.cpp | 12 +---------- src/lib/corelib/jsextensions/propertylistutils.mm | 25 ++--------------------- src/lib/corelib/tools/buildgraphlocker.cpp | 7 +------ src/lib/corelib/tools/set.h | 4 ---- src/lib/corelib/tools/tst_tools.cpp | 2 -- 9 files changed, 10 insertions(+), 52 deletions(-) diff --git a/README b/README index f3614ca2c..105eff1cb 100644 --- a/README +++ b/README @@ -10,12 +10,12 @@ Windows XP SP2 or later macOS 10.7 or later Linux (tested on Debian 6/7 and Ubuntu 13) -Building the sources requires Qt 5.4.0 or later. +Building the sources requires Qt 5.6.0 or later. Build Instructions ================== Prerequisites: - * Qt 5.4.0 or later + * Qt 5.6.0 or later * On Windows: - MinGW or Visual Studio * On macOS: Xcode diff --git a/doc/qbs.qdoc b/doc/qbs.qdoc index 0d3d576f2..7a644a53d 100644 --- a/doc/qbs.qdoc +++ b/doc/qbs.qdoc @@ -115,7 +115,7 @@ \title System Requirements - To build \QBS from the source, you need Qt 5.4.0, or later + To build \QBS from the source, you need Qt 5.6.0, or later */ diff --git a/qbs-resources/imports/QbsProduct.qbs b/qbs-resources/imports/QbsProduct.qbs index 7605ba783..fae3336b3 100644 --- a/qbs-resources/imports/QbsProduct.qbs +++ b/qbs-resources/imports/QbsProduct.qbs @@ -4,7 +4,7 @@ import QbsFunctions Product { Depends { name: "qbsbuildconfig" } Depends { name: "Qt.core" } - property string minimumQtVersion: "5.4.0" + property string minimumQtVersion: "5.6.0" property bool install: true cpp.defines: { var res = ["QT_NO_CAST_FROM_ASCII", "QT_NO_PROCESS_COMBINED_ARGUMENT_START"]; diff --git a/qbs.pro b/qbs.pro index af6ba896a..43c668c98 100644 --- a/qbs.pro +++ b/qbs.pro @@ -23,9 +23,9 @@ defineTest(minQtVersion) { return(false) } -!minQtVersion(5, 4, 0) { +!minQtVersion(5, 6, 0) { message("Cannot build qbs with Qt version $${QT_VERSION}.") - error("Use at least Qt 5.4.0.") + error("Use at least Qt 5.6.0.") } TEMPLATE = subdirs diff --git a/src/lib/corelib/buildgraph/rulecommands.cpp b/src/lib/corelib/buildgraph/rulecommands.cpp index ce50bcfcf..73f5fcfc3 100644 --- a/src/lib/corelib/buildgraph/rulecommands.cpp +++ b/src/lib/corelib/buildgraph/rulecommands.cpp @@ -219,16 +219,6 @@ void ProcessCommand::getEnvironmentFromList(const QStringList &envList) } } -static bool processEnvironmentsAreEqual(const QProcessEnvironment &env1, - const QProcessEnvironment &env2) -{ -#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) - return env1 == env2; -#else // qtbase/8b5cdc20be - return env1.toStringList() == env2.toStringList(); -#endif -} - bool ProcessCommand::equals(const AbstractCommand *otherAbstractCommand) const { if (!AbstractCommand::equals(otherAbstractCommand)) @@ -245,7 +235,7 @@ bool ProcessCommand::equals(const AbstractCommand *otherAbstractCommand) const && m_responseFileUsagePrefix == other->m_responseFileUsagePrefix && m_stdoutFilePath == other->m_stdoutFilePath && m_stderrFilePath == other->m_stderrFilePath - && processEnvironmentsAreEqual(m_environment, other->m_environment); + && m_environment == other->m_environment; } void ProcessCommand::fillFromScriptValue(const QScriptValue *scriptValue, const CodeLocation &codeLocation) diff --git a/src/lib/corelib/jsextensions/propertylistutils.mm b/src/lib/corelib/jsextensions/propertylistutils.mm index a8cda4d12..4ab5831a1 100644 --- a/src/lib/corelib/jsextensions/propertylistutils.mm +++ b/src/lib/corelib/jsextensions/propertylistutils.mm @@ -45,27 +45,6 @@ #include #include -static inline QDateTime QDateTime_fromNSDate(const NSDate *date) -{ -#if QT_VERSION >= QT_VERSION_CHECK(5, 5, 0) - return QDateTime::fromNSDate(date); -#else - if (!date) - return QDateTime(); - return QDateTime::fromMSecsSinceEpoch(static_cast([date timeIntervalSince1970] * 1000)); -#endif -} - -static inline NSDate *QDateTime_toNSDate(const QDateTime &qdatetime) -{ -#if QT_VERSION >= QT_VERSION_CHECK(5, 5, 0) - return qdatetime.toNSDate(); -#else - return [NSDate - dateWithTimeIntervalSince1970:static_cast(qdatetime.toMSecsSinceEpoch()) / 1000]; -#endif -} - static QVariant fromObject(id obj); static QVariantMap fromDictionary(NSDictionary *dict); static QVariantList fromArray(NSArray *array); @@ -84,7 +63,7 @@ static QVariant fromObject(id obj) } else if ([obj isKindOfClass:[NSData class]]) { value = QByteArray::fromNSData(obj); } else if ([obj isKindOfClass:[NSDate class]]) { - value = QDateTime_fromNSDate(obj); + value = QDateTime::fromNSDate(obj); } else if ([obj isKindOfClass:[NSNumber class]]) { if (strcmp([(NSNumber *)obj objCType], @encode(BOOL)) == 0) { value = static_cast([obj boolValue]); @@ -160,7 +139,7 @@ static id toObject(const QVariant &variant) return variant.toByteArray().toNSData(); } else if (variant.type() == QVariant::Date || variant.type() == QVariant::DateTime) { - return QDateTime_toNSDate(variant.toDateTime()); + return variant.toDateTime().toNSDate(); } else if (variant.type() == QVariant::Bool) { return variant.toBool() ? [NSNumber numberWithBool:YES] diff --git a/src/lib/corelib/tools/buildgraphlocker.cpp b/src/lib/corelib/tools/buildgraphlocker.cpp index fa87b9105..eec88bcfe 100644 --- a/src/lib/corelib/tools/buildgraphlocker.cpp +++ b/src/lib/corelib/tools/buildgraphlocker.cpp @@ -55,11 +55,6 @@ namespace qbs { namespace Internal { -static bool hasQtBug45497() -{ - return Version::fromString(QLatin1String(qVersion())) < Version(5, 5, 1); -} - static bool hasQtBug53392() { if (!HostOsInfo::isWindowsHost()) @@ -102,7 +97,7 @@ BuildGraphLocker::BuildGraphLocker(const QString &buildGraphFilePath, const Logg QString hostName; QString appName; if (m_lockFile.getLockInfo(&pid, &hostName, &appName)) { - if ((!hasQtBug45497() && !hasQtBug53392()) || appName == processNameByPid(pid)) { + if ((!hasQtBug53392()) || appName == processNameByPid(pid)) { throw ErrorInfo(Tr::tr("Cannot lock build graph file '%1': " "Already locked by '%2' (PID %3).") .arg(buildGraphFilePath, appName).arg(pid)); diff --git a/src/lib/corelib/tools/set.h b/src/lib/corelib/tools/set.h index e9af40b42..67a65aa67 100644 --- a/src/lib/corelib/tools/set.h +++ b/src/lib/corelib/tools/set.h @@ -70,10 +70,8 @@ template class Set public: using const_iterator = typename QVector::const_iterator; using iterator = typename QVector::iterator; -#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) using reverse_iterator = typename QVector::reverse_iterator; using const_reverse_iterator = typename QVector::const_reverse_iterator; -#endif using size_type = typename QVector::size_type; using value_type = T; using difference_type = typename QVector::difference_type; @@ -84,14 +82,12 @@ public: iterator begin() { return m_data.begin(); } iterator end() { return m_data.end(); } -#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) reverse_iterator rbegin() { return m_data.rbegin(); } reverse_iterator rend() { return m_data.rend(); } const_reverse_iterator rbegin() const { return m_data.rbegin(); } const_reverse_iterator rend() const { return m_data.rend(); } const_reverse_iterator crbegin() const { return m_data.crbegin(); } const_reverse_iterator crend() const { return m_data.crend(); } -#endif const_iterator begin() const { return m_data.begin(); } const_iterator end() const { return m_data.end(); } const_iterator cbegin() const { return m_data.cbegin(); } diff --git a/src/lib/corelib/tools/tst_tools.cpp b/src/lib/corelib/tools/tst_tools.cpp index bb4ba469d..1689668e0 100644 --- a/src/lib/corelib/tools/tst_tools.cpp +++ b/src/lib/corelib/tools/tst_tools.cpp @@ -702,7 +702,6 @@ void TestTools::set_insert() void TestTools::set_reverseIterators() { -#if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) Set s; s << 1 << 17 << 61 << 127 << 911; std::vector v(s.begin(), s.end()); @@ -714,7 +713,6 @@ void TestTools::set_reverseIterators() QVERIFY(std::equal(s.rbegin(), s.rend(), v.begin())); QVERIFY(std::equal(s.crbegin(), s.crend(), v.begin())); QVERIFY(std::equal(cs.rbegin(), cs.rend(), v.begin())); -#endif } void TestTools::set_stlIterator() -- cgit v1.2.3