| static { |
| message("QML cache generation ahead of time is not supported in static builds") |
| return() |
| } |
| |
| qtPrepareTool(QML_CACHEGEN, qmlcachegen, _ARCH_CHECK) |
| |
| isEmpty(TARGETPATH): error("Must set TARGETPATH (QML import name) for ahead-of-time QML cache generation") |
| |
| load(qt_build_paths) |
| |
| prefix_build: QMLCACHE_DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH |
| else: QMLCACHE_DESTDIR = $$[QT_INSTALL_QML]/$$TARGETPATH |
| |
| CACHEGEN_FILES= |
| qmlcacheinst.files = |
| for(qmlf, QML_FILES) { |
| contains(qmlf,.*\\.js$)|contains(qmlf,.*\\.qml$) { |
| CACHEGEN_FILES += $$absolute_path($$qmlf, $$_PRO_FILE_PWD_) |
| qmlcacheinst.files += $$QMLCACHE_DESTDIR/$$relative_path($$qmlf, $$_PRO_FILE_PWD_)c |
| } |
| } |
| |
| defineReplace(qmlCacheOutputFileName) { |
| return($$relative_path($$QMLCACHE_DESTDIR/$$relative_path($$1, $$_PRO_FILE_PWD_)c, $$OUT_PWD)) |
| } |
| |
| qmlcacheinst.base = $$QMLCACHE_DESTDIR |
| qmlcacheinst.path = $$[QT_INSTALL_QML]/$$TARGETPATH |
| qmlcacheinst.CONFIG = no_check_exist |
| |
| qmlcachegen.input = CACHEGEN_FILES |
| qmlcachegen.output = ${QMAKE_FUNC_FILE_IN_qmlCacheOutputFileName} |
| qmlcachegen.CONFIG = no_link target_predeps |
| qmlcachegen.commands = $$QML_CACHEGEN -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN} |
| qmlcachegen.name = Generate QML Cache ${QMAKE_FILE_IN} |
| qmlcachegen.variable_out = GENERATED_FILES |
| |
| !debug_and_release|!build_all|CONFIG(release, debug|release) { |
| QMAKE_EXTRA_COMPILERS += qmlcachegen |
| INSTALLS += qmlcacheinst |
| } |