From: Corentin Jabot Date: Fri, 27 Jul 2012 16:00:18 +0000 (+0200) Subject: make lupdate compilable without qml/js support X-Git-Tag: accepted/tizen/20131212.181521~268 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1076869497a059a0901ce1a76484bcaf3afa9fcf;p=platform%2Fupstream%2Fqttools.git make lupdate compilable without qml/js support In case the declarative module is not present. Change-Id: I2652b245506e2a04c4e588f62de2a39ebf652677 Reviewed-by: Friedemann Kleint Reviewed-by: Oswald Buddenhagen --- diff --git a/src/linguist/lupdate/lupdate.h b/src/linguist/lupdate/lupdate.h index 796e0a3..cb9f8bf 100644 --- a/src/linguist/lupdate/lupdate.h +++ b/src/linguist/lupdate/lupdate.h @@ -77,9 +77,12 @@ Translator merge(const Translator &tor, const Translator &virginTor, void fetchtrInlinedCpp(const QString &in, Translator &translator, const QString &context); void loadCPP(Translator &translator, const QStringList &filenames, ConversionData &cd); bool loadJava(Translator &translator, const QString &filename, ConversionData &cd); -bool loadQScript(Translator &translator, const QString &filename, ConversionData &cd); bool loadUI(Translator &translator, const QString &filename, ConversionData &cd); + +#ifndef QT_NO_QML +bool loadQScript(Translator &translator, const QString &filename, ConversionData &cd); bool loadQml(Translator &translator, const QString &filename, ConversionData &cd); +#endif QT_END_NAMESPACE diff --git a/src/linguist/lupdate/lupdate.pro b/src/linguist/lupdate/lupdate.pro index 36b7fe4..a40005d 100644 --- a/src/linguist/lupdate/lupdate.pro +++ b/src/linguist/lupdate/lupdate.pro @@ -2,7 +2,14 @@ load(qt_build_config) DESTDIR = $$QT.designer.bins -QT = core-private qmldevtools-private +QT = core-private + +!isEmpty(QT.declarative.name) { + QT += qmldevtools-private +} else { + DEFINES += QT_NO_QML +} + DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII include(../shared/formats.pri) @@ -15,9 +22,10 @@ SOURCES += \ \ cpp.cpp \ java.cpp \ - qdeclarative.cpp \ ui.cpp +!isEmpty(QT.declarative.name): SOURCES += qdeclarative.cpp + HEADERS += \ lupdate.h \ ../shared/simtexth.h diff --git a/src/linguist/lupdate/main.cpp b/src/linguist/lupdate/main.cpp index 7ae3fe6..a90e112 100644 --- a/src/linguist/lupdate/main.cpp +++ b/src/linguist/lupdate/main.cpp @@ -302,6 +302,9 @@ static QStringList getSources(const ProFileEvaluator &visitor, const QString &pr static void processSources(Translator &fetchedTor, const QStringList &sourceFiles, ConversionData &cd) { +#ifdef QT_NO_QML + bool requireQmlSupport = false; +#endif QStringList sourceFilesCpp; for (QStringList::const_iterator it = sourceFiles.begin(); it != sourceFiles.end(); ++it) { if (it->endsWith(QLatin1String(".java"), Qt::CaseInsensitive)) @@ -309,14 +312,27 @@ static void processSources(Translator &fetchedTor, else if (it->endsWith(QLatin1String(".ui"), Qt::CaseInsensitive) || it->endsWith(QLatin1String(".jui"), Qt::CaseInsensitive)) loadUI(fetchedTor, *it, cd); +#ifndef QT_NO_QML else if (it->endsWith(QLatin1String(".js"), Qt::CaseInsensitive) || it->endsWith(QLatin1String(".qs"), Qt::CaseInsensitive)) loadQScript(fetchedTor, *it, cd); else if (it->endsWith(QLatin1String(".qml"), Qt::CaseInsensitive)) loadQml(fetchedTor, *it, cd); +#else + else if (it->endsWith(QLatin1String(".qml"), Qt::CaseInsensitive) + || it->endsWith(QLatin1String(".js"), Qt::CaseInsensitive) + || it->endsWith(QLatin1String(".qs"), Qt::CaseInsensitive)) + requireQmlSupport = true; +#endif // QT_NO_QML else sourceFilesCpp << *it; } + +#ifdef QT_NO_QML + if (requireQmlSupport) + printErr(LU::tr("lupdate warning: Some files have been ignored due to missing qml/javascript support\n")); +#endif + loadCPP(fetchedTor, sourceFilesCpp, cd); if (!cd.error().isEmpty()) printErr(cd.error());