assemble the complete tool commands already in qt_tool.prf
this saves some repeated calculations. also, it's nicer to have most logic in one place. Change-Id: Iea362d40f5e6203709ced94d29ca61a4163b8e69 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
This commit is contained in:
parent
ff13798708
commit
6f4ff81380
@ -155,7 +155,7 @@ defineTest(qtAddModules) {
|
|||||||
|
|
||||||
# variable, default
|
# variable, default
|
||||||
defineTest(qtPrepareTool) {
|
defineTest(qtPrepareTool) {
|
||||||
$$1 = $$eval(QT_TOOL.$${2}.binary)
|
$$1 = $$eval(QT_TOOL.$${2}.command)
|
||||||
isEmpty($$1) {
|
isEmpty($$1) {
|
||||||
MODBASE = $$[QT_HOST_BINS/get]
|
MODBASE = $$[QT_HOST_BINS/get]
|
||||||
count(ARGS, 2, greaterThan) {
|
count(ARGS, 2, greaterThan) {
|
||||||
@ -175,30 +175,8 @@ defineTest(qtPrepareTool) {
|
|||||||
$$1 = $$BUNDLENAME
|
$$1 = $$BUNDLENAME
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
$$1 = $$shell_path($$eval($$1))
|
$$1 = $$shell_path($$eval($$1))
|
||||||
|
|
||||||
deps = $$resolve_depends(QT_TOOL.$${2}.depends, "QT.")
|
|
||||||
!isEmpty(deps) {
|
|
||||||
for(dep, deps): \
|
|
||||||
deppath += $$shell_path($$eval(QT.$${dep}.libs))
|
|
||||||
deppath = $$unique(deppath)
|
|
||||||
equals(QMAKE_DIR_SEP, /) {
|
|
||||||
equals(QMAKE_HOST.os, Windows): \
|
|
||||||
var = PATH
|
|
||||||
else:contains(QMAKE_HOST.os, Linux): \
|
|
||||||
var = LD_LIBRARY_PATH
|
|
||||||
else:equals(QMAKE_HOST.os, Darwin): \
|
|
||||||
var = DYLD_LIBRARY_PATH
|
|
||||||
else: \
|
|
||||||
error("Operating system not supported.")
|
|
||||||
$$1 = "$$var=$$join(deppath, :)${$$var:+:\$$$var} $$eval($$1)"
|
|
||||||
} else {
|
|
||||||
# Escape closing parens when expanding %PATH%, otherwise cmd confuses itself.
|
|
||||||
$$1 = "(set PATH=$$join(deppath, ;);%PATH:)=^)%) & $$eval($$1)"
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
export($$1)
|
export($$1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,12 +35,32 @@ INSTALLS += target
|
|||||||
isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR
|
isEmpty(MODULE_QMAKE_OUTDIR): MODULE_QMAKE_OUTDIR = $$MODULE_BASE_OUTDIR
|
||||||
|
|
||||||
load(resolve_target)
|
load(resolve_target)
|
||||||
|
cmd = $$shell_path($$QMAKE_RESOLVED_TARGET)
|
||||||
|
deps = $$resolve_depends(QT, "QT.")
|
||||||
|
!isEmpty(deps) {
|
||||||
|
for(dep, deps) {
|
||||||
|
deppath += $$shell_path($$eval(QT.$${dep}.libs))
|
||||||
|
}
|
||||||
|
deppath = $$unique(deppath)
|
||||||
|
equals(QMAKE_DIR_SEP, /) {
|
||||||
|
equals(QMAKE_HOST.os, Windows): \
|
||||||
|
var = PATH
|
||||||
|
else:contains(QMAKE_HOST.os, Linux): \
|
||||||
|
var = LD_LIBRARY_PATH
|
||||||
|
else:equals(QMAKE_HOST.os, Darwin): \
|
||||||
|
var = DYLD_LIBRARY_PATH
|
||||||
|
else: \
|
||||||
|
error("Operating system not supported.")
|
||||||
|
cmd = "$$var=$$join(deppath, :)${$$var:+:\$$$var} $$cmd"
|
||||||
|
} else {
|
||||||
|
# Escape closing parens when expanding %PATH%, otherwise cmd confuses itself.
|
||||||
|
cmd = "(set PATH=$$join(deppath, ;);%PATH:)=^)%) & $$cmd"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
TOOL_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_$${MODULE}.pri
|
TOOL_PRI = $$MODULE_QMAKE_OUTDIR/mkspecs/modules/qt_$${MODULE}.pri
|
||||||
|
|
||||||
TOOL_PRI_CONT = \
|
TOOL_PRI_CONT = "QT_TOOL.$${MODULE}.command = $$val_escape(cmd)"
|
||||||
"QT_TOOL.$${MODULE}.binary = $$QMAKE_RESOLVED_TARGET" \
|
|
||||||
"QT_TOOL.$${MODULE}.depends =$$join(MODULE_DEPENDS, " ", " ")"
|
|
||||||
write_file($$TOOL_PRI, TOOL_PRI_CONT)|error("Aborting.")
|
write_file($$TOOL_PRI, TOOL_PRI_CONT)|error("Aborting.")
|
||||||
|
|
||||||
# Then, inject the new tool into the current cache state
|
# Then, inject the new tool into the current cache state
|
||||||
|
Loading…
Reference in New Issue
Block a user