aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/language/testdata/conditionaldepends.qbs
blob: 26323703031c808490c24ec6f72d641c6dc3b14a (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
import qbs 1.0
import "conditionaldepends_base.qbs" as CondBase

Project {
    CondBase {
        name: 'conditionaldepends_derived'
        someProp: true
    }

    CondBase {
        name: 'conditionaldepends_derived_false'
        someProp: "knolf" === "narf"
    }

    Product {
        name: "product_props_true"
        property bool someTrueProp: true
        Depends { condition: someTrueProp; name: "dummy"}
    }

    Product {
        name: "product_props_false"
        property bool someFalseProp: false
        Depends { condition: someFalseProp; name: "dummy"}
    }

    property bool someTruePrjProp: true
    Product {
        name: "project_props_true"
        Depends { condition: project.someTruePrjProp; name: "dummy"}
    }

    property bool someFalsePrjProp: false
    Product {
        name: "project_props_false"
        Depends { condition: project.someFalsePrjProp; name: "dummy"}
    }

    Product {
        name: "module_props_true"
        Depends { name: "dummy2" }
        Depends { condition: dummy2.someTrueProp; name: "dummy" }
    }

    Product {
        name: "module_props_false"
        Depends { name: "dummy2" }
        Depends { condition: dummy2.someFalseProp; name: "dummy" }
    }

    Product {
        name: "multilevel_module_props_true"
        Depends { name: "dummy3" }
        dummy3.loadDummy: true
    }

    Product {
        name: "multilevel_module_props_false"
        Depends { name: "dummy3" }
    }

    Product {
        name: "contradictory_conditions1"
        Depends { condition: false; name: "dummy" }
        Depends { condition: true; name: "dummy" }  // this one wins
    }

    Product {
        name: "contradictory_conditions2"
        Depends { condition: true; name: "dummy" }  // this one wins
        Depends { condition: false; name: "dummy" }
    }

    Product {
        name: "unknown_dependency_condition_false"
        Depends { condition: false; name: "doesonlyexistifhellfreezesover" }
    }
}