| |
| # 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_BASE_OUTDIR/lib/ |
| DEPENDENCY_FILE = $$ANDROID_DEPENDS_DIR$$TARGET-android-dependencies.xml |
| |
| build_pass:!isEmpty(QT_ARCH): { |
| !isEmpty(MODULE_PLUGIN_TYPES) { |
| for(PLUGIN_TYPE, MODULE_PLUGIN_TYPES) { |
| ANDROID_BUNDLED_FILES += "plugins/$$PLUGIN_TYPE" |
| } |
| } |
| |
| !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_BUNDLED_JAR_DEPENDENCIES) { |
| for(JAR_FILE, ANDROID_BUNDLED_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 bundling=\"1\" file=\"$$JAR_FILE\" $$INIT_CLASS />" |
| } |
| } |
| |
| !isEmpty(ANDROID_LIB_DEPENDENCIES) { |
| for(LIB_FILE, ANDROID_LIB_DEPENDENCIES) { |
| EXTENDS = $$section(LIB_FILE, ":", 1, 1) |
| !isEmpty(EXTENDS): EXTENDS = "extends=\"$$EXTENDS\"" |
| LIB_FILE = $$section(LIB_FILE, ":", 0, 0) |
| LIB_FILE = $$replace(LIB_FILE,".so", "_$${QT_ARCH}.so") |
| !isEmpty(EXTENDS): EXTENDS = $$replace(EXTENDS,".so", "_$${QT_ARCH}.so") |
| FILE_CONTENT += "<lib file=\"$$LIB_FILE\" $$EXTENDS />" |
| } |
| } |
| |
| !isEmpty(ANDROID_LIB_DEPENDENCY_REPLACEMENTS) { |
| for(REPLACEMENT, ANDROID_LIB_DEPENDENCY_REPLACEMENTS) { |
| REPLACEMENT_FILE = $$section(REPLACEMENT, ":", 0, 0) |
| LIB_FILE = $$section(REPLACEMENT, ":", 1, 1) |
| REPLACEMENT_FILE = $$replace(REPLACEMENT_FILE,".so", "_$${QT_ARCH}.so") |
| FILE_CONTENT += "<lib file=\"$$LIB_FILE\" replaces=\"$$REPLACEMENT_FILE\" />" |
| } |
| } |
| |
| !isEmpty(ANDROID_BUNDLED_FILES) { |
| for (BUNDLED_FILE, ANDROID_BUNDLED_FILES) { |
| BUNDLED_FILE = $$replace(BUNDLED_FILE,".so", "_$${QT_ARCH}.so") |
| FILE_CONTENT += "<bundled file=\"$$BUNDLED_FILE\" />" |
| } |
| } |
| |
| !isEmpty(ANDROID_PERMISSIONS) { |
| for (ANDROID_PERMISSION, ANDROID_PERMISSIONS) { |
| FILE_CONTENT += "<permission name=\"$$ANDROID_PERMISSION\" />" |
| } |
| } |
| |
| !isEmpty(ANDROID_FEATURES) { |
| for (ANDROID_FEATURE, ANDROID_FEATURES) { |
| FILE_CONTENT += "<feature name=\"$$ANDROID_FEATURE\" />" |
| } |
| } |
| |
| |
| !isEmpty(FILE_CONTENT) { |
| FILE_CONTENT = "<rules><dependencies><lib name=\"$$TARGET\"><depends>" $$FILE_CONTENT "</depends></lib></dependencies></rules>" |
| write_file($$DEPENDENCY_FILE, FILE_CONTENT)|error() |
| } |
| } |
| |
| !isEmpty(ANDROID_JAR_DEPENDENCIES)|!isEmpty(ANDROID_LIB_DEPENDENCIES)|!isEmpty(ANDROID_LIB_DEPENDENCY_REPLACEMENTS)|!isEmpty(ANDROID_BUNDLED_JAR_DEPENDENCIES)|!isEmpty(ANDROID_BUNDLED_FILES) { |
| install_dependencies_file.files = $$DEPENDENCY_FILE |
| install_dependencies_file.path = $$[QT_INSTALL_LIBS] |
| INSTALLS += install_dependencies_file |
| } |