OSDN Git Service

RVCT: Speed up detection of version
authorTobias Hunger <tobias.hunger@nokia.com>
Thu, 24 Mar 2011 13:15:00 +0000 (14:15 +0100)
committerTobias Hunger <tobias.hunger@nokia.com>
Thu, 24 Mar 2011 14:45:20 +0000 (15:45 +0100)
Speed up detection of version information of RVCT. This is especially
relevant for people with wrong license server information as that causes
creator to wait for a timeout!

Reviewed-by: dt
src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp

index cd5cd2b..a29485b 100644 (file)
@@ -114,7 +114,7 @@ RvctToolChain::RvctVersion RvctToolChain::version(const QString &rvctPath)
 
     QProcess armcc;
     const QString binary = rvctPath;
-    armcc.start(binary, QStringList());
+    armcc.start(binary, QStringList() << "--version_number");
     if (!armcc.waitForStarted()) {
         qWarning("Unable to run rvct binary '%s' when trying to determine version.", qPrintable(binary));
         return v;
@@ -131,7 +131,7 @@ RvctToolChain::RvctVersion RvctToolChain::version(const QString &rvctPath)
     }
     QString versionLine = QString::fromLocal8Bit(armcc.readAllStandardOutput());
     versionLine += QString::fromLocal8Bit(armcc.readAllStandardError());
-    const QRegExp versionRegExp(QLatin1String("RVCT(\\d*)\\.(\\d*).*\\[Build.(\\d*)\\]"),
+    const QRegExp versionRegExp(QLatin1String("^(\\d)(\\d)0*([1-9]\\d*)"),
                                 Qt::CaseInsensitive);
     Q_ASSERT(versionRegExp.isValid());