diff options
Diffstat (limited to 'mkspecs/features/qt_android_deps.prf')
-rw-r--r-- | mkspecs/features/qt_android_deps.prf | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/mkspecs/features/qt_android_deps.prf b/mkspecs/features/qt_android_deps.prf new file mode 100644 index 0000000000..27814a90a5 --- /dev/null +++ b/mkspecs/features/qt_android_deps.prf @@ -0,0 +1,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 +} |