summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/qml_module.prf
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features/qml_module.prf')
-rw-r--r--mkspecs/features/qml_module.prf32
1 files changed, 20 insertions, 12 deletions
diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
index 65212b2abf..dbf5b74355 100644
--- a/mkspecs/features/qml_module.prf
+++ b/mkspecs/features/qml_module.prf
@@ -13,7 +13,14 @@ equals(TEMPLATE, app): TEMPLATE = aux
isEmpty(TARGETPATH): error("Must set TARGETPATH (QML import name)")
-qmldir_file = $$_PRO_FILE_PWD_/qmldir
+!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_)
@@ -23,15 +30,9 @@ for(qmlf, AUX_QML_FILES): fq_aux_qml_files += $$absolute_path($$qmlf, $$_PRO_FIL
load(qt_build_paths)
-qml1_target {
- DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH
- instbase = $$[QT_INSTALL_IMPORTS]
-} else {
- DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
- instbase = $$[QT_INSTALL_QML]
-}
+DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
-!qml1_target:static: \
+static: \
CONFIG += builtin_resources
else: \
CONFIG += install_qml_files
@@ -48,13 +49,20 @@ builtin_resources {
}
# Install rules
-qmldir.base = $$_PRO_FILE_PWD_
+qmldir.base = $$qmldir_path
# Tools need qmldir and plugins.qmltypes always installed on the file system
-qmldir.files = $$qmldir_file $$fq_aux_qml_files
+
+qmldir.files = $$qmldir_file
install_qml_files: qmldir.files += $$fq_qml_files
-qmldir.path = $$instbase/$$TARGETPATH
+qmldir.path = $$[QT_INSTALL_QML]/$$TARGETPATH
INSTALLS += qmldir
+qmlfiles.base = $$_PRO_FILE_PWD_
+qmlfiles.files = $$fq_aux_qml_files
+install_qml_files: qmlfiles.files += $$fq_qml_files
+qmlfiles.path = $${qmldir.path}
+INSTALLS += qmlfiles
+
!debug_and_release|!build_all|CONFIG(release, debug|release) {
!prefix_build {
COPIES += qmldir