fix(macOS): disable KDDockWidgets QtQuick frontend to resolve launch crash
Oak only uses KDDockWidgets' QtWidgets frontend. Building the QtQuick frontend caused duplicate QML module registration when QtQuick.framework initialized, resulting in a SIGABRT in QQmlMetaType::qmlInsertModuleRegistration. - Set KDDockWidgets_FRONTENDS to qtwidgets in ext/CMakeLists.txt. - Remove the -qmldir flags from macOS CD deploy since QML plugins are no longer needed.
This commit is contained in:
@@ -130,10 +130,7 @@ jobs:
|
|||||||
- name: Deploy Qt dependencies
|
- name: Deploy Qt dependencies
|
||||||
run: |
|
run: |
|
||||||
export PATH="$(brew --prefix qt@6)/bin:$PATH"
|
export PATH="$(brew --prefix qt@6)/bin:$PATH"
|
||||||
macdeployqt build/app/Oak.app \
|
macdeployqt build/app/Oak.app
|
||||||
-qmldir=app \
|
|
||||||
-qmldir=ext/KDDockWidgets/src/qtquick/views/qml \
|
|
||||||
-verbose=2
|
|
||||||
# Re-sign after macdeployqt (it breaks signatures when modifying libs)
|
# Re-sign after macdeployqt (it breaks signatures when modifying libs)
|
||||||
codesign --force --deep --sign - build/app/Oak.app
|
codesign --force --deep --sign - build/app/Oak.app
|
||||||
|
|
||||||
|
|||||||
@@ -18,4 +18,7 @@ add_subdirectory(core EXCLUDE_FROM_ALL)
|
|||||||
|
|
||||||
set(KDDockWidgets_STATIC ON CACHE INTERNAL "Force KDDockWidgets to build statically")
|
set(KDDockWidgets_STATIC ON CACHE INTERNAL "Force KDDockWidgets to build statically")
|
||||||
set(KDDockWidgets_QT6 ${BUILD_QT6} CACHE INTERNAL "Conform KDDockWidgets' Qt 6 setting to ours")
|
set(KDDockWidgets_QT6 ${BUILD_QT6} CACHE INTERNAL "Conform KDDockWidgets' Qt 6 setting to ours")
|
||||||
|
# Oak only uses the QtWidgets frontend; building the QtQuick frontend causes
|
||||||
|
# duplicate QML module registration on macOS and pulls in unused dependencies.
|
||||||
|
set(KDDockWidgets_FRONTENDS "qtwidgets" CACHE INTERNAL "Only build the QtWidgets frontend for Oak")
|
||||||
add_subdirectory(KDDockWidgets EXCLUDE_FROM_ALL)
|
add_subdirectory(KDDockWidgets EXCLUDE_FROM_ALL)
|
||||||
|
|||||||
Reference in New Issue
Block a user