summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/exclusive_builds.prf
blob: a41c5ab415012b033136036c75593f41c61aa0ef (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

defineTest(addExclusiveBuildsProper) {
    !$$1:!fix_output_dirs: \
        return(true)

    for(build, 2) {
        isEmpty($${build}.name) {
            $${build}.name = $$title($$build)
            export($${build}.name)
        }
        isEmpty($${build}.target) {
            $${build}.target = $$lower($$build)
            export($${build}.target)
        }
        isEmpty($${build}.dir_affix) {
            $${build}.dir_affix = $$lower($$build)
            export($${build}.dir_affix)
        }

        $${build}.exclusive = $$2
        export($${build}.exclusive)

        QMAKE_EXCLUSIVE_BUILDS += $$build
    }

    CONFIG *= exclusive_builds
    export(CONFIG)

    export(QMAKE_EXCLUSIVE_BUILDS)
    return(true)
}

defineTest(addExclusiveBuilds) {
    lessThan(ARGC, 2): \
        error("addExclusiveBuilds() requires at least two arguments")

    addExclusiveBuildsProper($$join(ARGS, _and_), $$ARGS)
}

QMAKE_DEFAULT_DIRS_TO_PROCESS = QGLTF_DIR TRACEGEN_DIR QMLCACHE_DIR LRELEASE_DIR LEX_DIR YACC_DIR
QMAKE_DIR_REPLACE_SANE += $$QMAKE_DEFAULT_DIRS_TO_PROCESS
QMAKE_DIR_REPLACE = \
    OBJECTS_DIR MOC_DIR RCC_DIR PRECOMPILED_DIR DESTDIR \
    $$QMAKE_DEFAULT_DIRS_TO_PROCESS
unset(QMAKE_DEFAULT_DIRS_TO_PROCESS)