diff options
Diffstat (limited to 'mkspecs/features/configure_base.prf')
-rw-r--r-- | mkspecs/features/configure_base.prf | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/mkspecs/features/configure_base.prf b/mkspecs/features/configure_base.prf new file mode 100644 index 0000000000..dc630a3528 --- /dev/null +++ b/mkspecs/features/configure_base.prf @@ -0,0 +1,51 @@ +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) +} + +# 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, "") |