qt5base-lts/mkspecs/features/qt_tool.prf
Oswald Buddenhagen 2796ceff50 make QT setup for bootstrapped tools more clever
instead of simply overwriting it, intelligently re-interpret it.

Change-Id: I5f7d8fff69ac8092653d7583da4c3884b9864b3a
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-03-12 23:11:36 +01:00

66 lines
1.7 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
CONFIG += console
isEmpty(QMAKE_INFO_PLIST): CONFIG -= app_bundle
host_build {
!build_pass: CONFIG += release
QT -= gui # no host tool will ever use gui
contains(QT, core(-private)?|xml) {
QT -= core core-private xml
QT += bootstrap-private
}
target.path = $$[QT_HOST_BINS]
} else {
!build_pass:contains(QT_CONFIG, build_all): CONFIG += release
target.path = $$[QT_INSTALL_BINS]
}
INSTALLS += target
load(qt_targets)
load(qt_common)
# If we are doing a prefix build, create a "module" pri which enables
# qtPrepareTool() to work with the non-installed build.
!build_pass:prefix_build {
isEmpty(MODULE):MODULE = $$TARGET
MODULE_DEPENDS = $$replace(QT, -private$, )
load(qt_build_paths)
load(resolve_target)
cmd = $$shell_path($$QMAKE_RESOLVED_TARGET)
!host_build: qtAddTargetEnv(cmd)
TOOL_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_tool_$${MODULE}.pri
TOOL_PRI_CONT = "QT_TOOL.$${MODULE}.command = $$val_escape(cmd)"
write_file($$TOOL_PRI, TOOL_PRI_CONT)|error("Aborting.")
# Then, inject the new tool into the current cache state
!contains(QMAKE_INTERNAL_INCLUDED_FILES, $$TOOL_PRI) { # before the actual include()!
added = $$TOOL_PRI
cache(QMAKE_INTERNAL_INCLUDED_FILES, add transient, added)
unset(added)
}
include($$TOOL_PRI)
cache(QT_TOOL.$${MODULE}.command, transient)
}