feat(GODT-2762): adjust mac and windows qt deploy

* do not remove web engine frameworks from macos bundle
* add libs, QML files, resources, translations needed for WebView
* ship QWebEngineProcess in linux and windows builds
This commit is contained in:
Jakub 2023-08-08 08:31:11 +02:00 committed by Xavier Michelon
parent f48a60d58c
commit 9b546b5412
4 changed files with 21 additions and 4 deletions

View File

@ -139,9 +139,6 @@ ${DEPLOY_DIR}/darwin: ${EXE_TARGET} build-launcher
perl -i -pe"s/>${BRIDGE_GUI_EXE_NAME}/>${LAUNCHER_EXE}/g" ${DARWINAPP_CONTENTS}/Info.plist
cp ./dist/${SRC_ICNS} ${DARWINAPP_CONTENTS}/Resources/${SRC_ICNS}
cp LICENSE ${DARWINAPP_CONTENTS}/Resources/
rm -rf "${DARWINAPP_CONTENTS}/Frameworks/QtWebEngine.framework"
rm -rf "${DARWINAPP_CONTENTS}/Frameworks/QtWebView.framework"
rm -rf "${DARWINAPP_CONTENTS}/Frameworks/QtWebEngineCore.framework"
mv ${LAUNCHER_EXE} ${DARWINAPP_CONTENTS}/MacOS/${LAUNCHER_EXE}
./utils/remove_non_relative_links_darwin.sh "${EXE_TARGET_DARWIN}/${EXE_BINARY_DARWIN}"

View File

@ -30,6 +30,8 @@ install(DIRECTORY "${QT_DIR}/qml/QtQml"
DESTINATION "${CMAKE_INSTALL_PREFIX}/bridge-gui.app/Contents/MacOS")
install(DIRECTORY "${QT_DIR}/qml/QtQuick"
DESTINATION "${CMAKE_INSTALL_PREFIX}/bridge-gui.app/Contents/MacOS")
install(DIRECTORY "${QT_DIR}/qml/QtWebView"
DESTINATION "${CMAKE_INSTALL_PREFIX}/bridge-gui.app/Contents/MacOS")
# FRAMEWORKS
install(DIRECTORY "${QT_DIR}/lib/QtQmlWorkerScript.framework"
DESTINATION "${CMAKE_INSTALL_PREFIX}/bridge-gui.app/Contents/Frameworks")
@ -43,6 +45,8 @@ install(DIRECTORY "${QT_DIR}/lib/QtQuickDialogs2QuickImpl.framework"
DESTINATION "${CMAKE_INSTALL_PREFIX}/bridge-gui.app/Contents/Frameworks")
install(DIRECTORY "${QT_DIR}/lib/QtQuickDialogs2Utils.framework"
DESTINATION "${CMAKE_INSTALL_PREFIX}/bridge-gui.app/Contents/Frameworks")
install(DIRECTORY "${QT_DIR}/lib/QtWebViewQuick.framework"
DESTINATION "${CMAKE_INSTALL_PREFIX}/bridge-gui.app/Contents/Frameworks")
# PLUGINS
install(FILES "${QT_DIR}/plugins/imageformats/libqsvg.dylib"
DESTINATION "${CMAKE_INSTALL_PREFIX}/bridge-gui.app/Contents/PlugIns/imageformats")

View File

@ -22,7 +22,11 @@ cmake_minimum_required(VERSION 3.22)
#*****************************************************************************************************************************************************
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_BINDIR}" "${CMAKE_INSTALL_LIBDIR}" "." "../lib")
install(DIRECTORY "${QT_DIR}/qml" "${QT_DIR}/plugins"
install(DIRECTORY
"${QT_DIR}/qml"
"${QT_DIR}/plugins"
"${QT_DIR}/translations"
"${QT_DIR}/resources"
DESTINATION "${CMAKE_INSTALL_PREFIX}")
macro( AppendLib LIB_NAME HINT_PATH)
@ -68,6 +72,13 @@ AppendQt6Lib("libQt6PrintSupport.so.6")
AppendQt6Lib("libQt6Xml.so.6")
AppendQt6Lib("libQt6OpenGLWidgets.so.6")
AppendQt6Lib("libQt6QuickWidgets.so.6")
AppendQt6Lib("libQt6Positioning.so.6")
AppendQt6Lib("libQt6WebChannel.so.6")
AppendQt6Lib("libQt6WebView.so.6")
AppendQt6Lib("libQt6WebViewQuick.so.6")
AppendQt6Lib("libQt6WebEngineCore.so.6")
AppendQt6Lib("libQt6WebEngineQuick.so.6")
AppendQt6Lib("libQt6WebEngineQuickDelegatesQml.so.6")
# QML dependencies
AppendQt6Lib("libQt6QmlWorkerScript.so.6")
@ -81,3 +92,6 @@ AppendQt6Lib("libQt6Svg.so.6")
AppendQt6Lib("libQt6QmlCore.so.6")
install(FILES ${DEPLOY_LIBS} DESTINATION "${CMAKE_INSTALL_PREFIX}/lib")
# Install QtWebEngineProcess to be able to use WebView
install(PROGRAMS "${QT_DIR}/libexec/QtWebEngineProcess" DESTINATION "${CMAKE_INSTALL_PREFIX}/libexec")

View File

@ -71,6 +71,8 @@ install(FILES ${DEPLOY_LIBS} DESTINATION "${CMAKE_INSTALL_PREFIX}")
install(DIRECTORY ${QT_DIR}/qml/Qt/labs/platform DESTINATION "${CMAKE_INSTALL_PREFIX}/Qt/labs/")
install(DIRECTORY ${QT_DIR}/qml/QtQml DESTINATION "${CMAKE_INSTALL_PREFIX}")
install(DIRECTORY ${QT_DIR}/qml/QtQuick DESTINATION "${CMAKE_INSTALL_PREFIX}")
install(DIRECTORY ${QT_DIR}/qml/QtWebView DESTINATION "${CMAKE_INSTALL_PREFIX}")
install(DIRECTORY ${QT_DIR}/qml/QtWebEngine DESTINATION "${CMAKE_INSTALL_PREFIX}")
# crash handler utils
install(PROGRAMS "${VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/tools/sentry-native/crashpad_handler.exe" DESTINATION "${CMAKE_INSTALL_PREFIX}")