diff options
Diffstat (limited to 'mkspecs/features/qml_module.prf')
-rw-r--r-- | mkspecs/features/qml_module.prf | 43 |
1 files changed, 38 insertions, 5 deletions
diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf index b09d42a0a4..4db0040dc5 100644 --- a/mkspecs/features/qml_module.prf +++ b/mkspecs/features/qml_module.prf @@ -13,19 +13,52 @@ equals(TEMPLATE, app): TEMPLATE = aux isEmpty(TARGETPATH): error("Must set TARGETPATH (QML import name)") -fq_qml_files = $$_PRO_FILE_PWD_/qmldir +qmldir_file = $$_PRO_FILE_PWD_/qmldir +fq_qml_files = for(qmlf, QML_FILES): fq_qml_files += $$absolute_path($$qmlf, $$_PRO_FILE_PWD_) -qml1_target: \ +fq_aux_qml_files = +for(qmlf, AUX_QML_FILES): fq_aux_qml_files += $$absolute_path($$qmlf, $$_PRO_FILE_PWD_) + +load(qt_build_paths) + +qml1_target { + DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH instbase = $$[QT_INSTALL_IMPORTS] -else: \ +} else { + DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH instbase = $$[QT_INSTALL_QML] +} + +!qml1_target:static: CONFIG += builtin_resources + +builtin_resources { + URITARGET = $$replace(URI, "\\.", "_") + # Ensure the QML files are included in the resources. In static builds, + # the QML engine reads also the qmldir file from the resources. + $${URITARGET}.files = $$qmldir_file $$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 = $$_PRO_FILE_PWD_ -qmldir.files = $$fq_qml_files +# Tools need qmldir and plugins.qmltypes always installed on the file system +qmldir.files = $$qmldir_file $$fq_aux_qml_files +!builtin_resources: qmldir.files += $$fq_qml_files qmldir.path = $$instbase/$$TARGETPATH INSTALLS += qmldir -!prefix_build: COPIES += qmldir +!debug_and_release|!build_all|CONFIG(release, debug|release) { + !prefix_build { + COPIES += qmldir + } else { + # For non-installed static builds, tools need qmldir and plugins.qmltypes + # files in the build dir + qmldir2build.files = $$qmldir_file $$fq_aux_qml_files + qmldir2build.path = $$DESTDIR + COPIES += qmldir2build + } +} |