summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/configure_base.prf
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features/configure_base.prf')
-rw-r--r--mkspecs/features/configure_base.prf54
1 files changed, 54 insertions, 0 deletions
diff --git a/mkspecs/features/configure_base.prf b/mkspecs/features/configure_base.prf
new file mode 100644
index 0000000000..fd1730741a
--- /dev/null
+++ b/mkspecs/features/configure_base.prf
@@ -0,0 +1,54 @@
+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) {
+ msg = "+ $$1"
+ write_file($$QMAKE_CONFIG_LOG, msg, append)
+ $$QMAKE_CONFIG_VERBOSE: log("$$msg$$escape_expand(\\n)")
+}
+
+defineTest(qtRunLoggedCommand) {
+ qtLog($$1)
+ write_file($${QMAKE_CONFIG_LOG}.part, "")
+ result = false
+ system("$$1 > \"$${QMAKE_CONFIG_LOG}.part\" 2>&1"): result = true
+
+ output = $$cat($${QMAKE_CONFIG_LOG}.part, blob)
+
+ write_file($${QMAKE_CONFIG_LOG}, output, append)
+ $$QMAKE_CONFIG_VERBOSE: log($$output)
+
+ return($$result)
+}
+
+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, "")