qt5base-lts/mkspecs/features/qt_app.prf
Oswald Buddenhagen f91bbd2438 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>
2016-11-25 17:31:02 +00:00

65 lines
1.6 KiB
Plaintext

#
# W A R N I N G
# -------------
#
# This file is not part of the Qt API. It exists purely as an
# implementation detail. It may change from version to version
# without notice, or even be removed.
#
# We mean it.
#
TEMPLATE = app
load(qt_build_paths)
DESTDIR = $$MODULE_BASE_OUTDIR/bin
isEmpty(QMAKE_INFO_PLIST): CONFIG -= app_bundle
# This decreases the binary size for tools if statically linked
QMAKE_LFLAGS += $$QMAKE_LFLAGS_GCSECTIONS
host_build: QT -= gui # no host tool will ever use gui
host_build:force_bootstrap {
!build_pass:qtConfig(release_tools): CONFIG += release
contains(QT, core(-private)?|xml) {
QT -= core core-private xml
QT += bootstrap-private
}
target.path = $$[QT_HOST_BINS]
} else {
!build_pass:qtConfig(debug_and_release): CONFIG += release
target.path = $$[QT_INSTALL_BINS]
CONFIG += relative_qt_rpath # Qt's tools and apps should be relocatable
}
INSTALLS += target
load(qt_targets)
load(qt_common)
qtSetQmlPath()
no_launch_target: return()
load(resolve_target)
launch.commands = $$shell_quote($$shell_path($$QMAKE_RESOLVED_TARGET))
QMAKE_EXTRA_TARGETS += launch
# Add environment for non-installed builds.
QT_TOOL_NAME = target
qtAddTargetEnv(launch.commands, QT)
isEmpty(BUILDS)|build_pass {
launch.depends = first
} else {
# For exclusive builds, run the app only once.
launch.CONFIG = recursive
launch.target = launch_all
launch.recurse_target = launch
launch.commands =
launch_first.depends = $$eval($$first(BUILDS).target)-launch
launch_first.target = launch
QMAKE_EXTRA_TARGETS += launch_first
}