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

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

    !$$join(ARGS, _and_):!fix_output_dirs: \
        return(true)

    for(build, ARGS) {
        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 = $$ARGS
        export($${build}.exclusive)

        QMAKE_EXCLUSIVE_BUILDS += $$build
    }

    CONFIG *= exclusive_builds
    export(CONFIG)

    export(QMAKE_EXCLUSIVE_BUILDS)
    return(true)
}

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