aboutsummaryrefslogtreecommitdiffstats
path: root/tools/qmlcachegen/qmlcache.prf
blob: 5cac5592c30e404f48461ca09e09167907ebafa0 (plain)
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
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")

!isEmpty(QT_TARGET_ARCH):QML_CACHEGEN_ARCH=$$QT_TARGET_ARCH
else:QML_CACHEGEN_ARCH=$$QT_ARCH

QML_CACHEGEN_ARGS=--target-architecture=$$QML_CACHEGEN_ARCH

!system($$QML_CACHEGEN_ARCH_CHECK $$QML_CACHEGEN_ARGS --check-if-supported) {
    message("QML cache generation requested but target architecture $$QML_CACHEGEN_ARCH is not supported.")
    return()
}

CACHEGEN_FILES=
for(qmlf, QML_FILES) {
    contains(qmlf,.*\\.js$)|contains(qmlf,.*\\.qml$) {
        CACHEGEN_FILES += $$qmlf
    }
}

qmlcachegen.input = CACHEGEN_FILES
prefix_build {
    qmlcachegen.output = ${QMAKE_FILE_IN}c
} else {
    qmlcachegen.output = $$[QT_INSTALL_QML]/$$TARGETPATH/${QMAKE_FILE_IN}c
    qmlcachegen.CONFIG = no_link target_predeps
}
qmlcachegen.commands = $$QML_CACHEGEN $$QML_CACHEGEN_ARGS -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
qmlcachegen.name = Generate QML Cache ${QMAKE_FILE_IN}
qmlcachegen.variable_out = GENERATED_FILES

QMAKE_EXTRA_COMPILERS += qmlcachegen