summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qt_android_deps.prf
blob: 27814a90a53982e7457c63db04aba9e0e257dc25 (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53

#  W A R N I N G
#  -------------
#
# This file is not part of the Qt API.  It exists purely as an
# implementation detail.  It may change from version to version
# without notice, or even be removed.
#
# We mean it.
#

# Generates an xml file to match the library in lib/ listing the dependencies
# of the module on JNI-based libraries etc. Used for deployment of an Android
# app.

ANDROID_DEPENDS_DIR = $$MODULE_QMAKE_OUTDIR/lib/
DEPENDENCY_FILE = $$ANDROID_DEPENDS_DIR$$TARGET-android-dependencies.xml

!build_pass {
    !isEmpty(ANDROID_JAR_DEPENDENCIES) {
        for(JAR_FILE, ANDROID_JAR_DEPENDENCIES) {
            INIT_CLASS = $$section(JAR_FILE, ":", 1, 1)
            !isEmpty(INIT_CLASS): INIT_CLASS = "initClass=\"$$INIT_CLASS\""
            JAR_FILE = $$section(JAR_FILE, ":", 0, 0)
            FILE_CONTENT += "<jar file=\"$$JAR_FILE\" $$INIT_CLASS />"
        }
    }

    !isEmpty(ANDROID_LIB_DEPENDENCIES) {
        for(LIB_FILE, ANDROID_LIB_DEPENDENCIES) {
            FILE_CONTENT += "<lib file=\"$$LIB_FILE\" />"
        }
    }

    !isEmpty(ANDROID_LIB_DEPENDENCY_REPLACEMENTS) {
        for(REPLACEMENT, ANDROID_LIB_DEPENDENCY_REPLACEMENTS) {
            REPLACEMENT_FILE = $$section(REPLACEMENT, ":", 0, 0)
            LIB_FILE = $$section(REPLACEMENT, ":", 1, 1)
            FILE_CONTENT += "<lib file=\"$$LIB_FILE\" replaces=\"$$REPLACEMENT_FILE\" />"
        }
    }

    !isEmpty(FILE_CONTENT) {
        FILE_CONTENT = "<rules><dependencies><lib name=\"$$TARGET\"><depends>" $$FILE_CONTENT "</depends></lib></dependencies></rules>"
        write_file($$DEPENDENCY_FILE, FILE_CONTENT) | error("Aborting.")
    }
}

!isEmpty(ANDROID_JAR_DEPENDENCIES)|!isEmpty(ANDROID_LIB_DEPENDENCIES)|!isEmpty(ANDROID_LIB_DEPENDENCY_REPLACEMENTS) {
    install_dependencies_file.files = $$DEPENDENCY_FILE
    install_dependencies_file.path = $$[QT_INSTALL_LIBS]
    INSTALLS += install_dependencies_file
}