4a35f21208
we need to store commands with system path separators in the .pri files, as we might clobber windows command arguments if we just converted separators later on. and we can actually do that, as the path separators are actually bound to the host system, not the shell. we also need to shell-quote the commands, as whitespace, and more commonly windows path separators in an msys shell, would break things. we delay this to the last moment possible, as it does depend on the shell. Change-Id: I1fe6b63aebd5663b72492c32928ec397f86e336f Reviewed-by: Sergio Ahumada <sahumada@blackberry.com>
66 lines
2.0 KiB
Plaintext
66 lines
2.0 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.
|
|
#
|
|
|
|
load(qt_app)
|
|
|
|
CONFIG += console
|
|
|
|
# If we are doing a prefix build, create a "module" pri which enables
|
|
# qtPrepareTool() to work with the non-installed build.
|
|
# Non-bootstrapped tools always need this because of the environment setup.
|
|
!build_pass:if(!host_build|!force_bootstrap|force_independent) {
|
|
isEmpty(MODULE):MODULE = $$TARGET
|
|
|
|
!host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, _private)
|
|
|
|
load(qt_build_paths)
|
|
|
|
load(resolve_target)
|
|
|
|
TOOL_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_tool_$${MODULE}.pri
|
|
|
|
vars = binary depends
|
|
!isEmpty(QT_TOOL_ENV) {
|
|
vars += envvars
|
|
module_var_names =
|
|
module_var_sets =
|
|
for(var, QT_TOOL_ENV) {
|
|
vars += env.$${var}.name env.$${var}.value
|
|
module_var_names += QT_TOOL.$${MODULE}.env.$${var}
|
|
module_var_sets += \
|
|
"QT_TOOL.$${MODULE}.env.$${var}.name = $$val_escape($${var}.name)" \
|
|
"QT_TOOL.$${MODULE}.env.$${var}.value = $$val_escape($${var}.value)"
|
|
}
|
|
module_envvars = \
|
|
"QT_TOOL.$${MODULE}.envvars = $$module_var_names" \
|
|
$$module_var_sets
|
|
} else {
|
|
module_envvars =
|
|
}
|
|
bin = $$system_path($$QMAKE_RESOLVED_TARGET)
|
|
TOOL_PRI_CONT = \
|
|
"QT_TOOL.$${MODULE}.binary = $$val_escape(bin)" \
|
|
"QT_TOOL.$${MODULE}.depends =$$join(MODULE_DEPENDS, " ", " ")" \
|
|
$$module_envvars
|
|
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)
|
|
for(var, vars): \
|
|
cache(QT_TOOL.$${MODULE}.$$var, transient)
|
|
|
|
}
|