File: installable.qbs

package info (click to toggle)
qbs 3.1.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • 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 (42 lines) | stat: -rw-r--r-- 1,166 bytes parent folder | download | duplicates (8)
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
import qbs.TextFile

Project {
    CppApplication {
        type: ["application"]
        name: "app"
        consoleApplication: true
        Group {
            files: ["main.cpp"]
            qbs.install: true
        }

        install: true
        installDebugInformation: false
        installDir: ""
    }

    Product {
        name: "install-list"
        type: ["install-list"]
        Depends { name: "app" }
        Rule {
            multiplex: true
            inputsFromDependencies: ["installable"]
            Artifact {
                filePath: "installed-files.txt"
                fileTags: product.type
            }
            prepare: {
                var cmd = new JavaScriptCommand();
                cmd.description = "creating " + output.fileName;
                cmd.sourceCode = function() {
                    var file = new TextFile(output.filePath, TextFile.WriteOnly);
                    for (var i = 0; i < inputs.installable.length; ++i)
                        file.writeLine(inputs.installable[i].filePath);
                    file.close();
                };
                return [cmd];
            }
        }
    }
}