summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/configure_base.prf
blob: fd1730741a2619d07b1bbd483e96d049fc9e4087 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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, "")