summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/metatypes.prf
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features/metatypes.prf')
-rw-r--r--mkspecs/features/metatypes.prf21
1 files changed, 16 insertions, 5 deletions
diff --git a/mkspecs/features/metatypes.prf b/mkspecs/features/metatypes.prf
index 64387458ac..59ef914f63 100644
--- a/mkspecs/features/metatypes.prf
+++ b/mkspecs/features/metatypes.prf
@@ -1,5 +1,7 @@
qtPrepareTool(MOC_COLLECT_JSON, moc)
+load(qt_build_paths)
+
QMAKE_MOC_OPTIONS += --output-json
MOC_JSON_H_BASE = $${QMAKE_H_MOD_MOC}
@@ -26,17 +28,26 @@ moc_json_source.variable_out = MOC_JSON_FILES
MOC_COLLECT_JSON_OUTPUT = $$lower($$basename(TARGET))_metatypes.json
-moc_collect_json.CONFIG += no_link combine
+moc_collect_json.CONFIG += no_link combine target_predeps
moc_collect_json.commands = $$MOC_COLLECT_JSON --collect-json -o ${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
moc_collect_json.input = MOC_JSON_FILES
moc_collect_json.output = $$MOC_COLLECT_JSON_OUTPUT
moc_collect_json.name = Collect moc JSON output into central file
install_metatypes {
- do_install.path = $$[QT_INSTALL_LIBS]/metatypes
- do_install.files = $$OUT_PWD/$$MOC_COLLECT_JSON_OUTPUT
- prefix_build: INSTALLS += do_install
- else: COPIES += do_install
+ do_install_metatypes.CONFIG += no_check_exist
+ do_install_metatypes.path = $$[QT_INSTALL_LIBS]/metatypes
+ do_install_metatypes.files = $$OUT_PWD/$$MOC_COLLECT_JSON_OUTPUT
+ prefix_build {
+ !isEmpty(MODULE_BASE_OUTDIR) {
+ metatypes_to_builddir.files = $$do_install_metatypes.files
+ metatypes_to_builddir.path = $$MODULE_BASE_OUTDIR/lib/metatypes
+ COPIES += metatypes_to_builddir
+ }
+ INSTALLS += do_install_metatypes
+ } else {
+ COPIES += do_install_metatypes
+ }
}
QMAKE_EXTRA_COMPILERS += moc_collect_json moc_json_header moc_json_source