File: plugin-dependency.qbs

package info (click to toggle)
qbs 3.1.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 30,968 kB
  • sloc: cpp: 120,478; ansic: 72,055; javascript: 14,887; python: 5,882; asm: 1,742; sh: 1,059; java: 693; objc: 409; lex: 194; xml: 141; perl: 137; yacc: 86; makefile: 55; cs: 41
file content (81 lines) | stat: -rw-r--r-- 2,221 bytes parent folder | download | duplicates (4)
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
79
80
81
import qbs.Host

Project {
    CppApplication {
        name: "myapp"
        files: ["main.cpp"]
        Depends {
            name: "plugin1"                             // not to be linked
            cpp.link: Host.os() === undefined
        }
        Depends { name: "plugin2" }                     // not to be linked
        Depends {
            name: "plugin3"                             // supposed to be linked
            property bool theCondition: true
            cpp.link: theCondition && product.name === "myapp"
        }
        Depends { name: "plugin4" }                     // supposed to be linked
        Depends { name: "helper1" }                     // supposed to be linked
    }
    DynamicLibrary {
        name: "plugin1"
        install: false
        files: ["plugin1.cpp"]
        Depends { name: "cpp" }
    }
    DynamicLibrary {
        name: "plugin2"
        install: false
        files: ["plugin2.cpp"]
        Depends { name: "cpp" }
        Export {
            Parameters {
                cpp.link: false // marker 1
            }
        }
    }
    DynamicLibrary {
        name: "plugin3"
        install: false
        files: ["plugin3.cpp"]
        Depends { name: "cpp" }
        Export {
            Parameters {
                cpp.link: false
            }
        }
    }
    DynamicLibrary {
        name: "plugin4"
        install: false
        files: ["plugin4.cpp"]
        Depends { name: "cpp" }
        Export {
            Parameters {
                // property bool theCondition: true
                cpp.link: true // theCondition TODO: Make this work
            }
        }
    }
    DynamicLibrary {
        name: "helper1"
        install: false
        files: ["helper1.cpp"]
        Depends { name: "cpp" }
        Depends { name: "helper2"; cpp.link: false /* marker 2 */ }
        Export {
            Depends { name: "cpp" }
            Depends { name: "helper2"; cpp.link: false }
        }
    }
    DynamicLibrary {
        name: "helper2"
        install: false
        files: ["helper2.cpp"]
        Depends { name: "cpp" }
        Export {
            Depends { name: "cpp" }
            cpp.defines: ["USING_HELPER2"]
        }
    }
}