| # |
| # 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. |
| # |
| |
| CONFIG += no_launch_target |
| load(qt_app) |
| |
| CONFIG += console |
| DEFINES *= QT_USE_QSTRINGBUILDER |
| |
| # 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(HOST_QT_TOOLS)) { |
| isEmpty(MODULE):MODULE = $$TARGET |
| |
| load(qt_build_paths) |
| |
| TOOL_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_tool_$${MODULE}.pri |
| |
| vars = binary depends |
| |
| !host_build|isEmpty(HOST_QT_TOOLS) { |
| load(resolve_target) |
| |
| !host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, _private) |
| |
| !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) |
| } else { |
| bin = $${HOST_QT_TOOLS}/$${TARGET} |
| equals(QMAKE_HOST.os, Windows): bin = $${bin}.exe |
| bin = $$system_path($$bin) |
| } |
| |
| 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() |
| |
| # 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) |
| |
| } |
| # The variable is re-used by qtPrepareTool(), and we really don't want that. |
| unset(QT_TOOL_ENV) |