diff options
Diffstat (limited to 'mkspecs/features/configure_base.prf')
-rw-r--r-- | mkspecs/features/configure_base.prf | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/mkspecs/features/configure_base.prf b/mkspecs/features/configure_base.prf new file mode 100644 index 0000000000..f62142f84d --- /dev/null +++ b/mkspecs/features/configure_base.prf @@ -0,0 +1,49 @@ +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: log("$$1$$escape_expand(\\n)") +} + +defineTest(qtRunLoggedCommand) { + qtLog("+ $$1") + + output = $$system("( $$1 ) 2>&1", blob, result) + qtLog($$output) + + !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, "") |