From 7302ebb83fef30d194431e5d1fa7223934013579 Mon Sep 17 00:00:00 2001 From: Sheryar Hyatt <44818355+sheryar-git@users.noreply.github.com> Date: Sun, 18 Oct 2026 21:14:28 -0400 Subject: [PATCH] wasm: build Qt Quick 3D into the WebAssembly SDK QML apps built on score can import QtQuick3D (SAT's Domeport does), but the wasm SDK skipped qtquick3d, so the static link had no Quick 3D plugin to pull in and the app failed with 'module "QtQuick3D" is not installed'. Build qtquick3d for both qt6-host (its tools are needed by the cross build) and qt-wasm. The assimp importer is turned off on wasm. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_0187mYLDEuWPcb6sJT4DgoXt --- WASM/qt.sh | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/WASM/qt.sh b/WASM/qt.sh index 191b145..2721da7 100755 --- a/WASM/qt.sh +++ b/WASM/qt.sh @@ -13,7 +13,6 @@ mkdir -p qt6-build-host -skip qtconnectivity \ -skip qtserialport \ -skip qtmultimedia \ - -skip qtquick3d \ -skip qtquicktimeline \ -skip qtquick3dphysics \ -release \ @@ -42,14 +41,15 @@ mkdir -p qt6-build-static cd qt6-build-static # Skip the same modules as the host build above: the wasm cross-build pulls # host tools (Qt6::balsam / Qt6Quick3DTools, QuickTimeline) from qt6-host, so - # anything built here must also exist there. Quick3D/multimedia aren't needed - # for the (audio-focused) wasm SDK. + # anything built here must also exist there. Multimedia isn't needed here. + # Quick3D stays in: QML apps built on score (SAT's Domeport, for one) import + # QtQuick3D, and a static wasm app can only link the QML plugins the SDK + # ships. Its assimp model importer is left out, a viewer doesn't need it. ../qt/configure \ -skip qtwayland \ -skip qtconnectivity \ -skip qtserialport \ -skip qtmultimedia \ - -skip qtquick3d \ -skip qtquicktimeline \ -skip qtquick3dphysics \ -release \ @@ -63,7 +63,8 @@ mkdir -p qt6-build-static -feature-opengles3 \ -no-feature-zstd \ -qt-host-path /opt/ossia-sdk-wasm/qt6-host \ - -platform wasm-emscripten + -platform wasm-emscripten \ + -no-feature-quick3d-assimp cmake . -DCMAKE_C_FLAGS="$CFLAGS" \ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \ -DCMAKE_CXX_STANDARD=23