Bugfix/macos fixes (#247)

* Icon for macos and tiny fixes
* Macos deploy build fix
This commit is contained in:
pokamest 2023-05-28 08:24:00 -07:00 committed by GitHub
parent adcc74ac8e
commit a116774104
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
8 changed files with 40 additions and 37 deletions

View file

@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.25.0 FATAL_ERROR)
set(PROJECT AmneziaVPN) set(PROJECT AmneziaVPN)
project(${PROJECT} VERSION 3.0.7.2 project(${PROJECT} VERSION 3.0.7.4
DESCRIPTION "AmneziaVPN" DESCRIPTION "AmneziaVPN"
HOMEPAGE_URL "https://amnezia.org/" HOMEPAGE_URL "https://amnezia.org/"
) )

View file

@ -214,7 +214,11 @@ if(APPLE)
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.15) set(CMAKE_OSX_DEPLOYMENT_TARGET 10.15)
add_compile_definitions(MVPN_MACOS) add_compile_definitions(MVPN_MACOS)
# ICON = $$PWD/images/app.icns
set(ICON_FILE ${CMAKE_CURRENT_SOURCE_DIR}/images/app.icns)
set(MACOSX_BUNDLE_ICON_FILE app.icns)
set_source_files_properties(${ICON_FILE} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
set(SOURCES ${SOURCES} ${ICON_FILE})
find_library(FW_COCOA Cocoa) find_library(FW_COCOA Cocoa)
find_library(FW_APPLICATIONSERVICES ApplicationServices) find_library(FW_APPLICATIONSERVICES ApplicationServices)

View file

@ -23,7 +23,7 @@ class StartPageLogic : public PageLogicBase
AUTO_PROPERTY(QString, labelWaitInfoText) AUTO_PROPERTY(QString, labelWaitInfoText)
AUTO_PROPERTY(bool, pushButtonBackFromStartVisible) AUTO_PROPERTY(bool, pushButtonBackFromStartVisible)
AUTO_PROPERTY(QString, privateKeyPassphrase); AUTO_PROPERTY(QString, privateKeyPassphrase)
READONLY_PROPERTY(QRegularExpression, ipAddressPortRegex) READONLY_PROPERTY(QRegularExpression, ipAddressPortRegex)
public: public:

View file

@ -233,9 +233,8 @@ PageBase {
anchors.top: label_server_ip.bottom anchors.top: label_server_ip.bottom
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
text: StartPageLogic.lineEditIpText text: StartPageLogic.lineEditIpText
onEditingFinished: { onEditingFinished: { StartPageLogic.lineEditIpText = text }
StartPageLogic.lineEditIpText = text onTextEdited: { StartPageLogic.lineEditIpText = text }
}
validator: RegularExpressionValidator { validator: RegularExpressionValidator {
regularExpression: StartPageLogic.ipAddressPortRegex regularExpression: StartPageLogic.ipAddressPortRegex
@ -253,9 +252,8 @@ PageBase {
anchors.top: label_login.bottom anchors.top: label_login.bottom
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
text: StartPageLogic.lineEditLoginText text: StartPageLogic.lineEditLoginText
onEditingFinished: { onEditingFinished: { StartPageLogic.lineEditLoginText = text }
StartPageLogic.lineEditLoginText = text onTextEdited: { StartPageLogic.lineEditLoginText = text }
}
} }
LabelType { LabelType {
@ -268,25 +266,29 @@ PageBase {
id: new_server_password id: new_server_password
anchors.top: label_new_server_password.bottom anchors.top: label_new_server_password.bottom
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
inputMethodHints: Qt.ImhSensitiveData
echoMode: TextInput.Password echoMode: TextInput.Password
text: StartPageLogic.lineEditPasswordText text: StartPageLogic.lineEditPasswordText
onEditingFinished: { onEditingFinished: { StartPageLogic.lineEditPasswordText = text }
StartPageLogic.lineEditPasswordText = text onTextEdited: { StartPageLogic.lineEditPasswordText = text }
} onAccepted: { StartPageLogic.onPushButtonConnect() }
} }
TextFieldType { TextFieldType {
id: new_server_ssh_key id: new_server_ssh_key
anchors.top: label_new_server_password.bottom anchors.top: label_new_server_password.bottom
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
visible: false
height: 71 height: 71
font.pixelSize: 10 font.pixelSize: 10
verticalAlignment: Text.AlignTop verticalAlignment: Text.AlignTop
inputMethodHints: Qt.ImhSensitiveData
text: StartPageLogic.textEditSshKeyText text: StartPageLogic.textEditSshKeyText
onEditingFinished: { onEditingFinished: { StartPageLogic.textEditSshKeyText = text }
StartPageLogic.textEditSshKeyText = text onTextEdited: { StartPageLogic.textEditSshKeyText = text }
} onAccepted: { StartPageLogic.onPushButtonConnect() }
visible: false
} }
LabelType { LabelType {

View file

@ -354,7 +354,7 @@ Window {
} }
textArea.wrapMode: cbLogWrap.checked ? TextEdit.WordWrap: TextEdit.NoWrap textArea.wrapMode: cbLogWrap.checked ? TextEdit.WordWrap: TextEdit.NoWrap
Keys.onPressed: { Keys.onPressed: function(event) {
UiLogic.keyPressEvent(event.key) UiLogic.keyPressEvent(event.key)
event.accepted = true event.accepted = true
} }

View file

@ -66,11 +66,9 @@ echo "____________________________________"
echo "............Deploy.................." echo "............Deploy.................."
echo "____________________________________" echo "____________________________________"
# Package # Package
echo "Packaging ..." echo "Packaging ..."
#cd $DEPLOY_DIR
$QT_BIN_DIR/macdeployqt $OUT_APP_DIR/$APP_FILENAME -always-overwrite -qmldir=$PROJECT_DIR $QT_BIN_DIR/macdeployqt $OUT_APP_DIR/$APP_FILENAME -always-overwrite -qmldir=$PROJECT_DIR
cp -av $BUILD_DIR/service/server/$APP_NAME-service $BUNDLE_DIR/Contents/macOS cp -av $BUILD_DIR/service/server/$APP_NAME-service $BUNDLE_DIR/Contents/macOS
cp -Rv $PROJECT_DIR/deploy/data/macos/* $BUNDLE_DIR/Contents/macOS cp -Rv $PROJECT_DIR/deploy/data/macos/* $BUNDLE_DIR/Contents/macOS
@ -147,7 +145,7 @@ if [ "${MAC_CERT_PW+x}" ]; then
fi fi
echo "Building DMG installer..." echo "Building DMG installer..."
hdiutil create -volname $APP_NAME -srcfolder $BUILD_DIR/installer/$APP_NAME.app -ov -format UDZO $DMG_FILENAME hdiutil create -volname Amnezia -srcfolder $BUILD_DIR/installer/$APP_NAME.app -ov -format UDZO $DMG_FILENAME
if [ "${MAC_CERT_PW+x}" ]; then if [ "${MAC_CERT_PW+x}" ]; then
echo "Signing DMG installer..." echo "Signing DMG installer..."

View file

@ -7,10 +7,6 @@ set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(NOT IOS AND NOT ANDROID) if(NOT IOS AND NOT ANDROID)
#include(common.cmake)
#if (qtservice-uselib)
# add_subdirectory(buildlib)
#endif()
add_subdirectory(server) add_subdirectory(server)
endif() endif()

View file

@ -94,11 +94,16 @@ include_directories(
add_executable(${PROJECT} ${SOURCES} ${HEADERS}) add_executable(${PROJECT} ${SOURCES} ${HEADERS})
target_link_libraries(${PROJECT} PRIVATE Qt6::Core Qt6::Network Qt6::RemoteObjects Qt6::Core5Compat ${LIBS}) target_link_libraries(${PROJECT} PRIVATE Qt6::Core Qt6::Network Qt6::RemoteObjects Qt6::Core5Compat ${LIBS})
qt_add_repc_sources(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}/../../ipc/ipc_interface.rep) if(APPLE)
if(NOT IOS) set_target_properties(${PROJECT} PROPERTIES
qt_add_repc_sources(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}/../../ipc/ipc_process_interface.rep) INSTALL_RPATH "@executable_path/../Frameworks"
BUILD_WITH_INSTALL_RPATH TRUE
)
endif() endif()
qt_add_repc_sources(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}/../../ipc/ipc_interface.rep)
qt_add_repc_sources(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}/../../ipc/ipc_process_interface.rep)
# deploy artifacts required to run the application to the debug build folder # deploy artifacts required to run the application to the debug build folder
if(WIN32) if(WIN32)
if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8") if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
@ -112,12 +117,10 @@ elseif(APPLE AND NOT IOS)
set(DEPLOY_ARTIFACT_PATH "macos") set(DEPLOY_ARTIFACT_PATH "macos")
endif() endif()
if(NOT IOS AND NOT ANDROID) add_custom_command(
add_custom_command( TARGET ${PROJECT} POST_BUILD
TARGET ${PROJECT} POST_BUILD COMMAND ${CMAKE_COMMAND} -E $<IF:$<CONFIG:Debug>,copy_directory,true>
COMMAND ${CMAKE_COMMAND} -E $<IF:$<CONFIG:Debug>,copy_directory,true> ${CMAKE_SOURCE_DIR}/deploy/data/${DEPLOY_ARTIFACT_PATH}
${CMAKE_SOURCE_DIR}/deploy/data/${DEPLOY_ARTIFACT_PATH} $<TARGET_FILE_DIR:${PROJECT}>
$<TARGET_FILE_DIR:${PROJECT}> COMMAND_EXPAND_LISTS
COMMAND_EXPAND_LISTS )
)
endif()