summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/configure_base.prf
blob: 08edba4b1ce9dfd3d8a9499878571f6886640a6f (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
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, "")