From 9b546b5412e1d5889f8facb96a917f1ca9c873fa Mon Sep 17 00:00:00 2001 From: Jakub Date: Tue, 8 Aug 2023 08:31:11 +0200 Subject: [PATCH] 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 --- Makefile | 3 --- .../bridge-gui/bridge-gui/DeployDarwin.cmake | 4 ++++ .../bridge-gui/bridge-gui/DeployLinux.cmake | 16 +++++++++++++++- .../bridge-gui/bridge-gui/DeployWindows.cmake | 2 ++ 4 files changed, 21 insertions(+), 4 deletions(-) diff --git a/Makefile b/Makefile index 6f010be6..b4653fc7 100644 --- a/Makefile +++ b/Makefile @@ -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}" diff --git a/internal/frontend/bridge-gui/bridge-gui/DeployDarwin.cmake b/internal/frontend/bridge-gui/bridge-gui/DeployDarwin.cmake index ce32255b..03fc4b97 100644 --- a/internal/frontend/bridge-gui/bridge-gui/DeployDarwin.cmake +++ b/internal/frontend/bridge-gui/bridge-gui/DeployDarwin.cmake @@ -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") diff --git a/internal/frontend/bridge-gui/bridge-gui/DeployLinux.cmake b/internal/frontend/bridge-gui/bridge-gui/DeployLinux.cmake index 10e1ea16..a97ccb87 100644 --- a/internal/frontend/bridge-gui/bridge-gui/DeployLinux.cmake +++ b/internal/frontend/bridge-gui/bridge-gui/DeployLinux.cmake @@ -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") diff --git a/internal/frontend/bridge-gui/bridge-gui/DeployWindows.cmake b/internal/frontend/bridge-gui/bridge-gui/DeployWindows.cmake index 85573307..99b0037c 100644 --- a/internal/frontend/bridge-gui/bridge-gui/DeployWindows.cmake +++ b/internal/frontend/bridge-gui/bridge-gui/DeployWindows.cmake @@ -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}")