aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmlcachegen
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@qt.io>2019-07-12 20:36:14 +0200
committerSimon Hausmann <simon.hausmann@qt.io>2019-07-12 20:36:48 +0200
commit880a143eb572de3e8a6734cc663ed4b6e309b99d (patch)
tree4d1ad149dff7d9708e5981ea7b0ec7f8aee24bbf /tools/qmlcachegen
parentc433b78660923b6268653b437a2a04078de0f058 (diff)
parenta6057b46eebc71772d584ea5d318d130e2f40a19 (diff)
Merge remote-tracking branch 'origin/dev' into wip/qt6
Diffstat (limited to 'tools/qmlcachegen')
-rw-r--r--tools/qmlcachegen/qmlcachegen.cpp11
-rw-r--r--tools/qmlcachegen/qtquickcompiler.prf10
2 files changed, 14 insertions, 7 deletions
diff --git a/tools/qmlcachegen/qmlcachegen.cpp b/tools/qmlcachegen/qmlcachegen.cpp
index abad2435dc..0202bd4df0 100644
--- a/tools/qmlcachegen/qmlcachegen.cpp
+++ b/tools/qmlcachegen/qmlcachegen.cpp
@@ -45,6 +45,8 @@
#include <algorithm>
+using namespace QQmlJS;
+
int filterResourceFile(const QString &input, const QString &output);
bool generateLoader(const QStringList &compiledFiles, const QStringList &retainedFiles,
const QString &output, const QStringList &resourceFileMappings,
@@ -205,10 +207,7 @@ static bool compileQmlFile(const QString &inputFileName, SaveFunction saveFuncti
annotateListElements(&irDocument);
{
- QmlIR::JSCodeGen v4CodeGen(irDocument.code,
- &irDocument.jsGenerator, &irDocument.jsModule,
- &irDocument.jsParserEngine, irDocument.program,
- &irDocument.jsGenerator.stringTable, illegalNames);
+ QmlIR::JSCodeGen v4CodeGen(&irDocument, illegalNames);
for (QmlIR::Object *object: qAsConst(irDocument.objects)) {
if (object->functionsAndExpressions->count == 0)
continue;
@@ -309,9 +308,7 @@ static bool compileJSFile(const QString &inputFileName, const QString &inputFile
}
{
- QmlIR::JSCodeGen v4CodeGen(irDocument.code, &irDocument.jsGenerator,
- &irDocument.jsModule, &irDocument.jsParserEngine,
- irDocument.program, &irDocument.jsGenerator.stringTable, illegalNames);
+ QmlIR::JSCodeGen v4CodeGen(&irDocument, illegalNames);
v4CodeGen.generateFromProgram(inputFileName, inputFileUrl, sourceCode, program,
&irDocument.jsModule, QV4::Compiler::ContextType::ScriptImportedByQML);
if (v4CodeGen.hasError()) {
diff --git a/tools/qmlcachegen/qtquickcompiler.prf b/tools/qmlcachegen/qtquickcompiler.prf
index 2f98aadefe..24cbe7f2e5 100644
--- a/tools/qmlcachegen/qtquickcompiler.prf
+++ b/tools/qmlcachegen/qtquickcompiler.prf
@@ -1,5 +1,15 @@
if(qtc_run|lupdate_run): return()
+!contains(QT, qml) {
+ qt_modules = \
+ $$replace(QT, -private$, _private) \
+ $$replace(QT_PRIVATE, -private$, _private)
+ qt_modules = $$resolve_depends(qt_modules, "QT.", ".depends" ".run_depends")
+ !contains(qt_modules, qml): \
+ error("The qtquickcompiler feature cannot be used without the QML module.")
+ unset(qt_modules)
+}
+
qtPrepareTool(QML_CACHEGEN, qmlcachegen, _FILTER)
qtPrepareTool(QMAKE_RCC, rcc, _DEP)