492d7d14fc
never use $$system() directly, but instead use qtRunLoggedCommand() with a newly introduced out parameter. that way we can print the command's raw output, which should help debugging configure problems. additionally, we now consistently check the exit code of all executed commands, which should avoid confusing followup errors. note that as a side effect some calls now use $$system()'s 'lines' mode instead of the bizarre default splitting mode. this has no impact on any of the cases, which is why it is basically a negligible style change at this point. however, qtLog() gained support for arguments with more than one element to accommodate this. Change-Id: I40d907e27de32dfec8d6086ce7d93fc4be18241f Reviewed-by: Lars Knoll <lars.knoll@qt.io>
54 lines
1.5 KiB
Plaintext
54 lines
1.5 KiB
Plaintext
equals(QMAKE_HOST.os, Windows) {
|
|
SETENV_PFX = "set "
|
|
SETENV_SFX = "&"
|
|
} else {
|
|
SETENV_PFX =
|
|
SETENV_SFX =
|
|
}
|
|
|
|
QMAKE_MAKE = $$(MAKE)
|
|
!isEmpty(QMAKE_MAKE) {
|
|
# We were called recursively. Use the same make.
|
|
} else: if(equals(MAKEFILE_GENERATOR, UNIX)|equals(MAKEFILE_GENERATOR, MINGW)) {
|
|
!equals(QMAKE_HOST.os, Windows): \
|
|
QMAKE_MAKE = make
|
|
else: \
|
|
QMAKE_MAKE = mingw32-make
|
|
} else: if(equals(MAKEFILE_GENERATOR, MSVC.NET)|equals(MAKEFILE_GENERATOR, MSBUILD)) {
|
|
QMAKE_MAKE = nmake
|
|
} else {
|
|
error("Configure tests are not supported with the $$MAKEFILE_GENERATOR Makefile generator.")
|
|
}
|
|
# Make sure we don't inherit MAKEFLAGS - -i in particular is fatal.
|
|
QMAKE_MAKE = "$${SETENV_PFX}MAKEFLAGS=$$SETENV_SFX $$QMAKE_MAKE"
|
|
|
|
isEmpty(QMAKE_CONFIG_VERBOSE): QMAKE_CONFIG_VERBOSE = false
|
|
|
|
defineTest(qtLog) {
|
|
write_file($$QMAKE_CONFIG_LOG, 1, append)
|
|
$$QMAKE_CONFIG_VERBOSE: for (l, 1): log("$$l$$escape_expand(\\n)")
|
|
}
|
|
|
|
defineTest(qtRunLoggedCommand) {
|
|
qtLog("+ $$1")
|
|
|
|
output = $$system("( $$1 ) 2>&1", lines, result)
|
|
qtLog($$output)
|
|
!isEmpty(2) {
|
|
$$2 = $$output
|
|
export($$2)
|
|
}
|
|
|
|
!equals(result, 0): return(false)
|
|
return(true)
|
|
}
|
|
|
|
isEmpty(QMAKE_CONFIG_TESTS_DIR): QMAKE_CONFIG_TESTS_DIR = $$_PRO_FILE_PWD_/config.tests
|
|
|
|
# Ensure that a cache is present. If none was found on startup, this will create
|
|
# one in the build directory of the project which loads this feature.
|
|
cache()
|
|
|
|
QMAKE_CONFIG_LOG = $$dirname(_QMAKE_CACHE_)/config.log
|
|
write_file($$QMAKE_CONFIG_LOG, "")
|