make handling of qml module search path saner
excise knowledge of QTREPOS from qt.prf - this is a private variable of the qt build system which the public functions should not know anything about. instead, move this handling to a function in qt_build_config.prf (where QTREPOS comes from in the first place), and call it from qt_app.prf and qt_example_installs.prf (which should be the only consumers within qt). qt.prf now also checks that the qml install dir actually exists, which is not the case during a modular prefix build of qtdeclarative. not really incidentally, this fixes modular static builds of qtdeclarative. Task-number: QTBUG-57308 Change-Id: I31465b9cd400483264fc236934c6f9f26a5fdd73 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
This commit is contained in:
parent
38259594e2
commit
f91bbd2438
@ -194,13 +194,8 @@ qt_module_deps = $$resolve_depends(qt_module_deps, "QT.")
|
||||
# static builds: link qml import plugins into the app.
|
||||
contains(qt_module_deps, qml): \
|
||||
qtConfig(static):contains(TEMPLATE, .*app):!host_build:!no_import_scan {
|
||||
!isEmpty(QTREPOS) {
|
||||
for (qrep, QTREPOS): \
|
||||
exists($$qrep/qml): \
|
||||
QMLPATHS += $$qrep/qml
|
||||
} else {
|
||||
QMLPATHS += $$[QT_INSTALL_QML/get]
|
||||
}
|
||||
exists($$[QT_INSTALL_QML/get]): \
|
||||
QMLPATHS *= $$[QT_INSTALL_QML/get]
|
||||
|
||||
# run qmlimportscanner
|
||||
qtPrepareTool(QMLIMPORTSCANNER, qmlimportscanner, , system)
|
||||
|
@ -37,6 +37,8 @@ INSTALLS += target
|
||||
load(qt_targets)
|
||||
load(qt_common)
|
||||
|
||||
qtSetQmlPath()
|
||||
|
||||
no_launch_target: return()
|
||||
|
||||
load(resolve_target)
|
||||
|
@ -52,6 +52,22 @@ QMAKE_DIR_REPLACE_SANE = PRECOMPILED_DIR OBJECTS_DIR MOC_DIR RCC_DIR UI_DIR
|
||||
unset(modpath)
|
||||
}
|
||||
|
||||
defineTest(qtSetQmlPath) {
|
||||
!qtConfig(static)|host_build|no_import_scan: \
|
||||
return()
|
||||
deps = $$replace(QT, -private$, _private)
|
||||
deps = $$resolve_depends(deps, "QT.")
|
||||
!contains(deps, qml): \
|
||||
return()
|
||||
|
||||
isEmpty(QTREPOS): \
|
||||
QTREPOS = $$shadowed($$dirname(_QMAKE_CONF_))
|
||||
for (qrep, QTREPOS): \
|
||||
exists($$qrep/qml): \
|
||||
QMLPATHS += $$qrep/qml
|
||||
export(QMLPATHS)
|
||||
}
|
||||
|
||||
# Apply extra compiler flags passed via configure last.
|
||||
CONFIG = qt_build_extra $$CONFIG
|
||||
|
||||
|
@ -9,6 +9,9 @@
|
||||
# We mean it.
|
||||
#
|
||||
|
||||
contains(TEMPLATE, .*app): \
|
||||
qtSetQmlPath()
|
||||
|
||||
contains(TEMPLATE, "vc.*"): return()
|
||||
|
||||
defineTest(addInstallFiles) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user