summaryrefslogtreecommitdiff
path: root/src/ivicore/configure.json
blob: 92eb8215fe53d15c44c99562cb092fafae0b145d (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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
{
    "module": "ivicore",
    "testDir": "../../config.tests",

    "commandline": {
        "options": {
            "ivigenerator": { "type": "enum", "values": [ "no", "qt", "system" ] },
            "qface": { "type": "enum", "values": [ "no", "qt", "system" ] },
            "host-tools-only": "boolean",
            "force-ivigenerator-qtremoteobjects": "boolean"
        }
    },

    "tests": {
        "python3": {
            "label": "Python3",
            "type": "python3",
            "files": [ "python3" ]
        },
        "virtualenv": {
            "label": "virtualenv",
            "type": "python3_package",
            "package": "virtualenv"
        },
        "qface": {
            "label": "qface 2.0.0",
            "type": "python3_package",
            "package": "qface",
            "version": "2.0.0"
        },
        "qface-submodule": {
            "label": "qface-submodule",
            "type": "qface_submodule"
        }
    },

    "features": {
        "python3": {
            "label": "python3",
            "condition": "tests.python3",
            "output": [
                "privateFeature",
                { "type": "varAssign", "public": true, "name": "QMAKE_PYTHON3_LOCATION", "value": "tests.python3.value" },
                { "type": "varAssign", "public": true, "name": "QMAKE_PYTHON3_VERSION", "value": "tests.python3.version" }
            ]
        },
        "python3-virtualenv": {
            "label": "virtualenv",
            "condition": "features.python3 && tests.virtualenv",
            "output": [ "privateFeature" ]
        },
        "system-qface": {
            "label": "System QFace",
            "enable": "input.qface == 'system'",
            "disable": "input.qface == 'no' || input.qface == 'qt'",
            "condition": "tests.qface",
            "output": [ "publicFeature" ]
        },
        "system-ivigenerator": {
            "label": "System IVI Generator",
            "enable": "input.ivigenerator == 'system'",
            "disable": "input.ivigenerator != 'system'",
            "output": [ "privateFeature" ]
        },
        "ivigenerator": {
            "label": "IVI Generator",
            "enable": "input.ivigenerator == 'qt' || input.ivigenerator == 'system'",
            "disable": "input.ivigenerator == 'no'",
            "condition": "features.ivicore && features.python3 && ((features.python3-virtualenv && tests.qface-submodule) || (features.system-qface)) || features.system-ivigenerator",
            "output": [ "publicFeature" ]
        },
        "host-tools-only": {
            "label": "Only build the host tools",
            "condition": "input.host-tools-only == 'yes'",
            "output": [ "privateFeature" ]
        },
        "remoteobjects": {
            "label": "QtRemoteObjects Support",
            "condition": "module.remoteobjects || input.force-ivigenerator-qtremoteobjects == 'yes'",
            "output": [ "publicFeature" ]
        },
        "ivicore": {
            "label": "Qt IVI Core",
            "output": [ "publicFeature" ]
        }
     },

    "report": [
        {
            "type": "error",
            "condition": "!features.ivigenerator && input.ivigenerator != 'no'",
            "message": "Cannot build the IVI Generator because its dependencies are not satisfied.
The IVI Generator provides tooling to generate source code out of IDL files.
Make sure python3 and its 'virtualenv' packages are installed.
E.g. by running
    apt-get install python3 python3-virtualenv

And make sure the qface submodule is initialized or the correct qface version is installed on your system.
E.g. by running the following command:
    git submodule init && git submodule update"
        },
        {
            "type": "warning",
            "condition": "!features.remoteobjects",
            "message": "Cannot enable the QtRemoteObjects features because the QtRemoteObjects module is not installed."
        }
    ],

    "summary": [
        {
            "section": "Qt IVI Core",
            "condition": "features.ivicore",
            "entries": [
                {
                    "section": "Python3",
                    "entries": [
                        {
                            "type": "python3"
                        },
                        "python3-virtualenv",
                        "system-qface"
                    ]
               },
               "ivigenerator",
               "remoteobjects"
            ]
        },
        {
            "type": "feature",
            "args": "ivicore",
            "condition": "!features.ivicore"
        }
    ]
}