aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/qbs/common.qbs
blob: e9e311e9394d3e54e6520d294468874c11d4c1ef (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
import qbs.base 1.0
import qbs.fileinfo 1.0 as FileInfo

Module {
    property list<string> references;
    property string buildVariant: "debug"
    property bool debugInformation: (buildVariant == "debug")
    property string optimization: (buildVariant == "debug" ? "none" : "fast")
    property string platform: null
    property string hostOS: getHostOS()
    property string hostArchitecture: getHostDefaultArchitecture()
    property string targetOS: null
    property string targetName: null
    property string toolchain: null
    property string architecture: null
    property string endianness: null
    property string installDir: '.'

    PropertyOptions {
        name: "buildVariant"
        allowedValues: ['debug', 'release']
        description: "Defines the consistence of your ice cream sandwich"
    }

    PropertyOptions {
        name: "optimization"
        allowedValues: ['none', 'fast', 'small']
        description: "optimization level"
    }

    Rule {
        inputs: ["install"]
        Artifact {
            fileTags: ["installed_content"]
            fileName: input.modules.qbs.installDir + "/" + input.fileName
        }

        prepare: {
            var cmd = new JavaScriptCommand();
            cmd.sourceCode = function() {
                        File.remove(output.fileName);
                        File.copy(input.fileName, output.fileName);
                    }
            cmd.description = "installing " + FileInfo.fileName(output.fileName);
            cmd.highlight = "linker";
            return cmd;
        }

    }
}