aboutsummaryrefslogtreecommitdiffstats
path: root/share/share.qbs
blob: 8f1aa673f9b3c1c8f987f49cce71bd88e97273c0 (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
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: "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,
                     product.moduleProperty("qbsbuildconfig", "resourcesInstallDir"),
                    "share", FileInfo.relativePath(product.sourceDirectory, 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;
        }
    }
}