qt5base-lts/mkspecs/features/qt_app.prf
Mikhail Svetkin 194a404490 Make the use of -fdata-sections and --gc-sections more generic in Qt
Add qmake feature and configure option, which optimze the size of static
exectuable. Use for static build.
Enabled via configure --gc-binaries, or CONFIG += gc-binaries in 3rd party
projects.

Change-Id: I3c25b02caaef6a4afc6019afc9c67122dd11696d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2018-04-27 06:47:35 +00:00

66 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(VERSION): VERSION = $$MODULE_VERSION
isEmpty(QMAKE_TARGET_DESCRIPTION): \
QMAKE_TARGET_DESCRIPTION = "Qt $$title($$TARGET)"
isEmpty(QMAKE_INFO_PLIST): CONFIG -= app_bundle
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
}