Revision control
++ {
++ "module": "3dcore",
++ "depends": [
++ "gui"
++ ],
++ "condition": "module.gui && features.opengl && !config.wasm",
++ "testDir": "../../config.tests",
++
++ "commandline": {
++ "options": {
++ "qt3d-assimp": { "type": "enum", "values": [ "qt", "system", "no" ] },
++ "qt3d-render": "boolean",
++ "qt3d-input": "boolean",
++ "qt3d-logic": "boolean",
++ "qt3d-extras": "boolean",
++ "qt3d-animation": "boolean",
++ "qt3d-simd": { "type": "optionalString", "values": [ "no", "sse2", "avx2" ] }
++ }
++ },
++
++ "libraries": {
++ "qt3d-assimp": {
++ "label": "Assimp",
++ "test": "assimp",
++ "sources": [
++ { "type": "pkgConfig", "args": "assimp > 3.3.1" },
++ "-lassimp"
++ ]
++ }
++ },
++
++ "features": {
++ "qt3d-assimp": {
++ "label": "Assimp",
++ "output": [ "privateFeature", "feature" ]
++ },
++ "qt3d-system-assimp": {
++ "label": "System Assimp",
++ "enable": "input.assimp == 'system'",
++ "disable": "input.assimp == 'qt'",
++ "condition": "features.qt3d-assimp && libs.qt3d-assimp",
++ "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": [
++ "qt3d-assimp",
++ "qt3d-system-assimp",
++ "qt3d-simd-sse2",
++ "qt3d-simd-avx2",
++ {
++ "section": "Aspects",
++ "entries": [
++ "qt3d-render",
++ "qt3d-input",
++ "qt3d-logic",
++ "qt3d-animation",
++ "qt3d-extras"
++ ]
++ }
++ ]
++ }
++ ]
++ }