summaryrefslogtreecommitdiffstats
path: root/src/core/configure.json
blob: e72c5ed2bd7be33fcd1ca7a670bc273dcc428fe2 (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
{
    "module": "3dcore",
    "testDir": "../../config.tests",

    "commandline": {
        "options": {
            "assimp": { "type": "enum", "values": [ "qt", "system", "no" ] },
            "qt3d-profile-jobs": "boolean",
            "qt3d-profile-gl": "boolean",
            "qt3d-render": "boolean",
            "qt3d-input": "boolean",
            "qt3d-logic": "boolean",
            "qt3d-extras": "boolean",
            "qt3d-animation": "boolean",
            "qt3d-simd": { "type": "optionalString", "values": [ "no", "sse2", "avx2" ] }
        }
    },

    "libraries": {
        "assimp": {
            "label": "Assimp",
            "test": "assimp",
            "sources": [
                { "type": "pkgConfig", "args": "assimp > 3.3.1" },
                "-lassimp"
            ]
        }
    },

    "features": {
        "assimp": {
            "label": "Assimp",
            "output": [ "privateFeature", "feature" ]
        },
        "system-assimp": {
            "label": "System Assimp",
            "enable": "input.assimp == 'system'",
            "disable": "input.assimp == 'qt'",
            "condition": "features.assimp && libs.assimp",
            "output": [ "privateFeature" ]
        },
        "qt3d-profile-jobs": {
            "label": "Output Qt3D Job traces",
            "autoDetect": false,
            "output": [ "privateFeature" ]
        },
        "qt3d-profile-gl": {
            "label": "Output Qt3D GL traces",
            "autoDetect": false,
            "output": [ "privateFeature" ]
        },
        "qt3d-render": {
            "label": "Render aspect",
            "purpose": "Use the 3D Render Aspect library",
            "section": "Aspects",
            "output": [ "publicFeature" ]
        },
        "qt3d-input": {
            "label": "Input aspect",
            "purpose": "Use the 3D Input Aspect library",
            "section": "Aspects",
            "output": [ "publicFeature" ]
        },
        "qt3d-logic": {
            "label": "Logic aspect",
            "purpose": "Use the 3D Logic Aspect library",
            "section": "Aspects",
            "output": [ "publicFeature" ]
        },
        "qt3d-extras": {
            "label": "Extras aspect",
            "purpose": "Use the 3D Extra library",
            "section": "Aspects",
            "condition": "features.qt3d-render && features.qt3d-input && features.qt3d-logic",
            "output": [ "publicFeature" ]
        },
        "qt3d-animation": {
            "label": "Animation aspect",
            "purpose": "Use the 3D Animation Aspect library",
            "section": "Aspects",
            "condition": "features.qt3d-render",
            "output": [ "publicFeature" ]
        },
        "qt3d-simd-sse2": {
            "label": "Use SSE2 instructions",
            "purpose": "Use SSE2 SIMD instructions to accelerate matrix operations",
            "autoDetect": "features.sse2",
            "enable": "input.qt3d-simd == 'sse2' || input.qt3d-simd == 'avx2'",
            "disable": "input.qt3d-simd == 'no' || arch.i386",
            "output": [ "privateFeature" ]
        },
        "qt3d-simd-avx2": {
            "label": "Use AVX2 instructions",
            "purpose": "Use AVX2 SIMD instructions to accelerate matrix operations",
            "autoDetect": "subarch.avx2",
            "enable": "input.qt3d-simd == 'avx2'",
            "disable": "input.qt3d-simd == 'sse2' || input.qt3d-simd == 'no' || arch.i386",
            "output": [ "privateFeature" ]
        }
    },

    "report": [
    ],

    "summary": [
        {
            "section": "Qt 3D",
            "entries": [
                "assimp",
                "system-assimp",
                "qt3d-profile-jobs",
                "qt3d-profile-gl",
                "qt3d-simd-sse2",
                "qt3d-simd-avx2",
                {
                    "section": "Aspects",
                    "entries": [
                        "qt3d-render",
                        "qt3d-input",
                        "qt3d-logic",
                        "qt3d-animation",
                        "qt3d-extras"
                    ]
                }
            ]
        }
    ]
}