| # |
| # 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. |
| # |
| |
| equals(TEMPLATE, app): TEMPLATE = aux |
| |
| isEmpty(TARGETPATH): error("Must set TARGETPATH (QML import name)") |
| |
| !isEmpty(DYNAMIC_QMLDIR) { |
| qmldir_path = $$OUT_PWD |
| write_file($${qmldir_path}/qmldir, DYNAMIC_QMLDIR)|error("Aborting.") |
| } else { |
| qmldir_path = $$_PRO_FILE_PWD_ |
| } |
| |
| qmldir_file = $${qmldir_path}/qmldir |
| |
| fq_qml_files = |
| for(qmlf, QML_FILES): fq_qml_files += $$absolute_path($$qmlf, $$_PRO_FILE_PWD_) |
| |
| fq_aux_qml_files = |
| for(qmlf, AUX_QML_FILES): fq_aux_qml_files += $$absolute_path($$qmlf, $$_PRO_FILE_PWD_) |
| |
| load(qt_build_paths) |
| |
| DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH |
| |
| static: \ |
| CONFIG += builtin_resources |
| else: \ |
| CONFIG += install_qml_files |
| |
| builtin_resources { |
| URITARGET = $$replace(URI, "\\.", "_") |
| # In static builds, the QML engine reads also the qmldir file from the resources. |
| static: $${URITARGET}.files = $$qmldir_file |
| # Ensure the QML files are included in the resources. |
| $${URITARGET}.files += $$fq_qml_files |
| # qt-project.org/imports is the path used for locating imports inside the resources |
| $${URITARGET}.prefix = /qt-project.org/imports/$$TARGETPATH |
| RESOURCES += $${URITARGET} |
| } |
| |
| # Install rules |
| qmldir.base = $$qmldir_path |
| qmldir.files = $$qmldir_file |
| qmldir.path = $$[QT_INSTALL_QML]/$$TARGETPATH |
| |
| qmlfiles.base = $$_PRO_FILE_PWD_ |
| qmlfiles.files = $$fq_aux_qml_files |
| install_qml_files: qmlfiles.files += $$fq_qml_files |
| qmlfiles.path = $${qmldir.path} |
| |
| INSTALL_QML_FILES = false |
| |
| android { |
| single_android_abi|build_pass { |
| isEmpty(ANDROID_ABIS): ANDROID_ABIS = $$ALL_ANDROID_ABIS |
| ABI = $$first(ANDROID_ABIS) |
| equals(ABI, $$QT_ARCH): INSTALL_QML_FILES = true |
| } |
| } else: !debug_and_release|!build_all|CONFIG(release, debug|release): INSTALL_QML_FILES = true |
| |
| equals(INSTALL_QML_FILES, true) { |
| INSTALLS += qmldir |
| INSTALLS += qmlfiles |
| |
| !prefix_build { |
| COPIES += qmldir qmlfiles |
| } else { |
| # For non-installed static builds, tools need qmldir and plugins.qmltypes |
| # files in the build dir |
| qml2build.files = $$qmldir_file $$fq_aux_qml_files |
| qml2build.path = $$DESTDIR |
| COPIES += qml2build |
| } |
| } |