aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/imports.pro
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2015-11-16 19:58:58 +0100
committerMarco Benelli <marco.benelli@theqtcompany.com>2015-12-07 13:49:30 +0000
commit94e9fab2d81d076fd59a6a5a4d4ef093f37e05f9 (patch)
treea1f5b31e10436b2c951f1572403c1eda263ab83b /src/imports/imports.pro
parentbb921064b966efdaabc2245cad21c3d852848a22 (diff)
Add .qmltypes files for built-in QML API
This adds two .qmltypes files: QtQml/plugins.qmltypes describes the components in the QtQml import, and builtins.qmltypes the enumerations in the implicit "Qt" namespace that does not require an import. builtins.qmltypes is automatically picked up by Qt Creator for each Qt version, while plugins.qmltypes will only be parsed if the import is used. Done-with: Kai Koehne <kai.koehne@theqtcompany.com> Done-with: Marco Benelli <marco.benelli@theqtcompany.com> Change-Id: Ia2b1739172c827b945d118b41b647c0a15f3419d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Diffstat (limited to 'src/imports/imports.pro')
-rw-r--r--src/imports/imports.pro33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/imports/imports.pro b/src/imports/imports.pro
index d0d47aa38c..f7002f9ed5 100644
--- a/src/imports/imports.pro
+++ b/src/imports/imports.pro
@@ -1,6 +1,7 @@
TEMPLATE = subdirs
SUBDIRS += \
+ qtqml \
folderlistmodel \
localstorage \
models \
@@ -16,3 +17,35 @@ qtHaveModule(quick) {
}
qtHaveModule(xmlpatterns) : SUBDIRS += xmllistmodel
+
+
+QMLTYPEFILE = builtins.qmltypes
+
+# install rule
+builtins.files = $$QMLTYPEFILE
+builtins.path = $$[QT_INSTALL_QML]
+INSTALLS += builtins
+
+# copy to build directory
+!force_independent:if(!debug_and_release|!build_all|CONFIG(release, debug|release)) {
+ defineReplace(qmlModStripSrcDir) {
+ return($$relative_path($$1, $$_PRO_FILE_PWD_))
+ }
+
+ qmltypes2build.input = QMLTYPEFILE
+ qmltypes2build.output = $$[QT_INSTALL_QML]/${QMAKE_FUNC_FILE_IN_qmlModStripSrcDir}
+ !contains(TEMPLATE, vc.*): qmltypes2build.variable_out = PRE_TARGETDEPS
+ qmltypes2build.commands = $$QMAKE_COPY ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
+ qmltypes2build.name = COPY ${QMAKE_FILE_IN}
+ qmltypes2build.CONFIG = no_link no_clean
+
+ QMAKE_EXTRA_COMPILERS += qmltypes2build
+}
+
+# qmltypes target
+!cross_compile:if(build_pass|!debug_and_release) {
+ qtPrepareTool(QMLPLUGINDUMP, qmlplugindump)
+
+ qmltypes.commands = $$QMLPLUGINDUMP -builtins > $$PWD/$$QMLTYPEFILE
+ QMAKE_EXTRA_TARGETS += qmltypes
+}