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

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)
}

# Default directories to process
QMAKE_DIR_REPLACE = OBJECTS_DIR MOC_DIR RCC_DIR PRECOMPILED_DIR QGLTF_DIR DESTDIR TRACEGEN_DIR QMLCACHE_DIR LRELEASE_DIR
QMAKE_DIR_REPLACE_SANE += QGLTF_DIR TRACEGEN_DIR QMLCACHE_DIR LRELEASE_DIR