summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/qml_module.prf28
-rw-r--r--mkspecs/features/qml_plugin.prf31
2 files changed, 32 insertions, 27 deletions
diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
new file mode 100644
index 0000000000..cf62a86ce6
--- /dev/null
+++ b/mkspecs/features/qml_module.prf
@@ -0,0 +1,28 @@
+equals(TEMPLATE, app): TEMPLATE = aux
+
+isEmpty(TARGETPATH): error("Must set TARGETPATH (QML import name)")
+
+fq_qml_files = $$_PRO_FILE_PWD_/qmldir
+
+for(qmlf, QML_FILES): fq_qml_files += $$absolute_path($$qmlf, $$_PRO_FILE_PWD_)
+
+# Only for Qt Creator's project view
+OTHER_FILES += $$fq_qml_files
+
+exists($$[QT_HOST_PREFIX]/.qmake.cache) {
+ # These bizarre rules copy the files to the qtbase build directory
+
+ qmlfiles2build.input = fq_qml_files
+ qmlfiles2build.output = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
+ !contains(TEMPLATE, vc.*): qmlfiles2build.variable_out = PRE_TARGETDEPS
+ qmlfiles2build.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
+ qmlfiles2build.name = COPY ${QMAKE_FILE_IN}
+ qmlfiles2build.CONFIG = no_link no_clean
+
+ QMAKE_EXTRA_COMPILERS += qmlfiles2build
+}
+
+# Install rules
+qmldir.files = $$fq_qml_files
+qmldir.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
+INSTALLS += qmldir
diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf
index 94f96f69f1..5bbead4b97 100644
--- a/mkspecs/features/qml_plugin.prf
+++ b/mkspecs/features/qml_plugin.prf
@@ -10,38 +10,13 @@ isEmpty(CXX_MODULE) {
isEmpty(TARGETPATH): TARGETPATH = $$eval(QT.$${CXX_MODULE}.name)
DESTDIR = $$eval(QT.$${CXX_MODULE}.imports)/$$TARGETPATH
-QMLDIRFILE = $$_PRO_FILE_PWD_/qmldir
-fq_qml_files = $$QMLDIRFILE
-
QMLTYPEFILE = $$_PRO_FILE_PWD_/plugins.qmltypes
-exists($$QMLTYPEFILE): fq_qml_files += $$QMLTYPEFILE
-
-for(qmlf, QML_FILES): fq_qml_files += $$absolute_path($$qmlf, $$_PRO_FILE_PWD_)
-
-# Only for Qt Creator's project view
-OTHER_FILES += $$fq_qml_files
-
-exists($$[QT_HOST_PREFIX]/.qmake.cache) {
- # These bizarre rules copy the files to the qtbase build directory
-
- qmlfiles2build.input = fq_qml_files
- qmlfiles2build.output = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
- !contains(TEMPLATE, vc.*): qmlfiles2build.variable_out = PRE_TARGETDEPS
- qmlfiles2build.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
- qmlfiles2build.name = COPY ${QMAKE_FILE_IN}
- qmlfiles2build.CONFIG = no_link no_clean
-
- QMAKE_EXTRA_COMPILERS += qmlfiles2build
-}
+exists($$QMLTYPEFILE): QML_FILES += $$QMLTYPEFILE
# Install rules
target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
-
-qmldir.files = $$fq_qml_files
-qmldir.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
-
-INSTALLS += target qmldir
+INSTALLS += target
# Some final setup
@@ -68,3 +43,5 @@ load(qt_targets)
qmltypes.depends = $$QMAKE_RESOLVED_TARGET
QMAKE_EXTRA_TARGETS += qmltypes
}
+
+load(qml_module)