aboutsummaryrefslogtreecommitdiffstats
path: root/share/share.qbs
blob: 7cb75b883f97c305b36062575ebc928213313c7f (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
import qbs
import qbs.File
import qbs.FileInfo

Product {
    name: "qbs resources"
    type: ["copied qbs resources"]
    Depends { name: "qbsbuildconfig" }

    Group {
        name: "Incredibuild"
        prefix: "../bin/"
        files: ["ibmsvc.xml", "ibqbs.bat"]
        fileTags: []
        qbs.install: qbs.targetOS.contains("windows")
        qbs.installDir: qbsbuildconfig.appInstallDir
    }

    Group {
        name: "Python executables"
        files: ["../src/3rdparty/python/bin/dmgbuild"]
        fileTags: ["qbs resources"]
        qbs.install: true
        qbs.installDir: qbsbuildconfig.libexecInstallDir
        qbs.installSourceBase: "../src/3rdparty/python/bin"
    }

    Group {
        name: "Python packages"
        prefix: "../src/3rdparty/python/**/"
        files: ["*.py"]
        fileTags: ["qbs resources"]
        qbs.install: true
        qbs.installDir: qbsbuildconfig.resourcesInstallDir + "/share/qbs/python"
        qbs.installSourceBase: "../src/3rdparty/python/lib/python2.7/site-packages"
    }

    Group {
        name: "Modules and imports"
        files: ["qbs/**/*"]
        fileTags: ["qbs resources"]
        qbs.install: true
        qbs.installDir: qbsbuildconfig.resourcesInstallDir + "/share"
        qbs.installSourceBase: "."
    }

    Group {
        name: "Examples as resources"
        files: ["../examples/**/*"]
        fileTags: []
        qbs.install: true
        qbs.installDir: qbsbuildconfig.resourcesInstallDir + "/share/qbs"
        qbs.installSourceBase: ".."
    }

    Rule {
        inputs: ["qbs resources"]
        Artifact {
            filePath: FileInfo.joinPaths(
                          project.buildDirectory,
                          input.moduleProperty("qbs", "installDir"),
                          FileInfo.relativePath(input.moduleProperty("qbs", "installSourceBase"),
                                                input.filePath))
            fileTags: ["copied qbs resources"]
        }
        prepare: {
            var cmd = new JavaScriptCommand();
            cmd.description = "Copying resource " + input.fileName + " to build directory.";
            cmd.highlight = "codegen";
            cmd.sourceCode = function() { File.copy(input.filePath, output.filePath); }
            return cmd;
        }
    }
}