File: qmlcache.prf

package info (click to toggle)
qt6-declarative 6.9.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 308,920 kB
  • sloc: cpp: 775,911; javascript: 514,247; xml: 10,855; python: 2,806; ansic: 2,253; java: 810; sh: 262; makefile: 41; php: 27
file content (42 lines) | stat: -rw-r--r-- 1,440 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
static {
    message("QML cache generation ahead of time is not supported in static builds")
    return()
}

qtPrepareLibExecTool(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
}