mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-21 17:46:48 +00:00
GODT-1675: Update installers [skip-ci]
This commit is contained in:
77
internal/frontend/bridge-gui/bridge-gui/DeployWindows.cmake
Normal file
77
internal/frontend/bridge-gui/bridge-gui/DeployWindows.cmake
Normal file
@ -0,0 +1,77 @@
|
||||
# Copyright (c) 2022 Proton AG
|
||||
#
|
||||
# This file is part of Proton Mail Bridge.
|
||||
#
|
||||
# Proton Mail Bridge is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# Proton Mail Bridge is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with Proton Mail Bridge. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
cmake_minimum_required(VERSION 3.22)
|
||||
|
||||
#*****************************************************************************************************************************************************
|
||||
# Deploy
|
||||
#*****************************************************************************************************************************************************
|
||||
|
||||
install(SCRIPT ${deploy_script})
|
||||
|
||||
macro( AppendLib LIB_NAME HINT_PATH)
|
||||
string(TOUPPER ${LIB_NAME} UP_NAME)
|
||||
|
||||
find_file(PATH_${UP_NAME} ${LIB_NAME} HINTS "${HINT_PATH}")
|
||||
|
||||
if( ${PATH_${UP_NAME}} STREQUAL "PATH_${UP_NAME}-NOTFOUND")
|
||||
message(SEND_ERROR "${LIB_NAME} was not found in ${HINT_PATH}")
|
||||
else()
|
||||
list(APPEND DEPLOY_LIBS ${PATH_${UP_NAME}})
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro( AppendVCPKGLib LIB_NAME)
|
||||
AppendLib("${LIB_NAME}" "${VCPKG_ROOT}/installed/x64-windows/bin")
|
||||
endmacro()
|
||||
|
||||
cmake_path(CONVERT $ENV{QT6DIR} TO_CMAKE_PATH_LIST QT6DIR)
|
||||
macro( AppendQt6Lib LIB_NAME)
|
||||
AppendLib("${LIB_NAME}" "${QT6DIR}/bin")
|
||||
endmacro()
|
||||
|
||||
# Force plugins to be installed near the exe.
|
||||
install(SCRIPT ${deploy_script})
|
||||
|
||||
# Vcpkg DLLs
|
||||
AppendVCPKGLib("abseil_dll.dll")
|
||||
AppendVCPKGLib("cares.dll")
|
||||
AppendVCPKGLib("libcrypto-3-x64.dll")
|
||||
AppendVCPKGLib("libprotobuf.dll")
|
||||
AppendVCPKGLib("libssl-3-x64.dll")
|
||||
AppendVCPKGLib("re2.dll")
|
||||
AppendVCPKGLib("zlib1.dll")
|
||||
# QML DLLs
|
||||
AppendQt6Lib("Qt6QmlWorkerScript.dll")
|
||||
AppendQt6Lib("Qt6Widgets.dll")
|
||||
AppendQt6Lib("Qt6QuickControls2Impl.dll")
|
||||
AppendQt6Lib("Qt6QuickLayouts.dll")
|
||||
AppendQt6Lib("Qt6QuickDialogs2.dll")
|
||||
AppendQt6Lib("Qt6QuickDialogs2QuickImpl.dll")
|
||||
AppendQt6Lib("Qt6QuickDialogs2Utils.dll")
|
||||
|
||||
install(FILES ${DEPLOY_LIBS} DESTINATION "${CMAKE_INSTALL_PREFIX}")
|
||||
|
||||
# QML PlugIns
|
||||
install(DIRECTORY ${QT6DIR}/qml/Qt/labs/platform DESTINATION "${CMAKE_INSTALL_PREFIX}/Qt/labs/")
|
||||
install(DIRECTORY ${QT6DIR}/qml/QtQml DESTINATION "${CMAKE_INSTALL_PREFIX}")
|
||||
install(DIRECTORY ${QT6DIR}/qml/QtQuick DESTINATION "${CMAKE_INSTALL_PREFIX}")
|
||||
|
||||
# Runtime system libs
|
||||
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
|
||||
include(InstallRequiredSystemLibraries)
|
||||
install( PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION ${CMAKE_INSTALL_PREFIX})
|
||||
Reference in New Issue
Block a user