From a0f114e15c5aa39aab7da56a69f0a6c06706eb35 Mon Sep 17 00:00:00 2001 From: Shahzain Ali Date: Sun, 11 Dec 2022 03:22:59 +0500 Subject: [PATCH 1/7] Fixing openvpn --- .github/workflows/deploy.yml | 1 + client/CMakeLists.txt | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 16261332..f2ab4f17 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -152,6 +152,7 @@ jobs: export QT_MACOS_ROOT_DIR="${{ runner.temp }}/Qt/${{ env.QT_VERSION }}/macos" export QT_IOS_BIN=$QT_BIN_DIR export PATH=$PATH:~/go/bin + cd client mkdir build-ios $QT_IOS_BIN/qt-cmake . -B build-ios -GXcode -DQT_HOST_PATH=$QT_MACOS_ROOT_DIR diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 81a66ae2..541e13bf 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -28,9 +28,7 @@ find_package(Qt6 REQUIRED COMPONENTS qt_standard_project_setup() if(IOS) - execute_process(COMMAND bash ${CMAKE_CURRENT_LIST_DIR}/scripts/openvpn.sh args - WORKING_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/client) - + execute_process(COMMAND bash ${CMAKE_CURRENT_LIST_DIR}/scripts/openvpn.sh) endif() # silent builds on CI env From 807b3370e7dc896ee8a838f5c9326787db481a64 Mon Sep 17 00:00:00 2001 From: Shahzain Ali Date: Sun, 11 Dec 2022 03:42:46 +0500 Subject: [PATCH 2/7] Adding qtshadertools module in qt installation --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index f2ab4f17..16373e2f 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -112,7 +112,7 @@ jobs: host: 'mac' target: 'desktop' arch: 'clang_64' - modules: 'qtremoteobjects qt5compat' + modules: 'qtremoteobjects qt5compat qtshadertools' dir: ${{ runner.temp }} set-env: 'true' From 0851f4fdd4c8af0abd2de5648887ed559a46d5a3 Mon Sep 17 00:00:00 2001 From: Shahzain Ali Date: Sun, 11 Dec 2022 04:01:15 +0500 Subject: [PATCH 3/7] Added Qt6ShaderTools in cmake --- client/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 541e13bf..13c8e6b2 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -23,7 +23,7 @@ list(APPEND CMAKE_PREFIX_PATH ${PREFIX_PATH}) find_package(Qt6 REQUIRED COMPONENTS Widgets Core Gui Network Xml RemoteObjects Quick Svg QuickControls2 - Core5Compat + Core5Compat Qt6ShaderTools ) qt_standard_project_setup() From b14f14c45a9ed220dd7ed492612b79722d2ceb25 Mon Sep 17 00:00:00 2001 From: Shahzain Ali Date: Sun, 11 Dec 2022 04:09:45 +0500 Subject: [PATCH 4/7] Update CMakeLists.txt --- client/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 13c8e6b2..c6017631 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -23,7 +23,7 @@ list(APPEND CMAKE_PREFIX_PATH ${PREFIX_PATH}) find_package(Qt6 REQUIRED COMPONENTS Widgets Core Gui Network Xml RemoteObjects Quick Svg QuickControls2 - Core5Compat Qt6ShaderTools + Core5Compat ShaderTools ) qt_standard_project_setup() From 0fa5dc225c665f8d5a930f52bfaa4ea594b0c2ae Mon Sep 17 00:00:00 2001 From: Shahzain Ali Date: Sun, 11 Dec 2022 04:19:24 +0500 Subject: [PATCH 5/7] Reverting shadertools in cmake. --- .github/workflows/deploy.yml | 2 +- client/CMakeLists.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 16373e2f..67359cdf 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -112,7 +112,7 @@ jobs: host: 'mac' target: 'desktop' arch: 'clang_64' - modules: 'qtremoteobjects qt5compat qtshadertools' + modules: 'qtremoteobjects qt5compat QtShaderTools' dir: ${{ runner.temp }} set-env: 'true' diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index c6017631..541e13bf 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -23,7 +23,7 @@ list(APPEND CMAKE_PREFIX_PATH ${PREFIX_PATH}) find_package(Qt6 REQUIRED COMPONENTS Widgets Core Gui Network Xml RemoteObjects Quick Svg QuickControls2 - Core5Compat ShaderTools + Core5Compat ) qt_standard_project_setup() From d3cbd8cdae3414fc597199da46ff284c1aceddff Mon Sep 17 00:00:00 2001 From: Shahzain Ali Date: Sun, 11 Dec 2022 04:21:28 +0500 Subject: [PATCH 6/7] Update deploy.yml --- .github/workflows/deploy.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 67359cdf..6b528f95 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -112,7 +112,7 @@ jobs: host: 'mac' target: 'desktop' arch: 'clang_64' - modules: 'qtremoteobjects qt5compat QtShaderTools' + modules: 'qtremoteobjects qt5compat Qt6ShaderTools' dir: ${{ runner.temp }} set-env: 'true' From 4df918d6a57f98ec607f9675a7b8766112655ea3 Mon Sep 17 00:00:00 2001 From: "vladimir.kuznetsov" Date: Sun, 11 Dec 2022 10:26:31 +0300 Subject: [PATCH 7/7] added qtshadertools to actions and cmake - cleaned up CMakeLists in client project --- .github/workflows/deploy.yml | 4 +- client/CMakeLists.txt | 276 +++++++++++++++++------------------ 2 files changed, 134 insertions(+), 146 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 6b528f95..21f37012 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -112,7 +112,7 @@ jobs: host: 'mac' target: 'desktop' arch: 'clang_64' - modules: 'qtremoteobjects qt5compat Qt6ShaderTools' + modules: 'qtremoteobjects qt5compat qtshadertools' dir: ${{ runner.temp }} set-env: 'true' @@ -122,7 +122,7 @@ jobs: version: ${{ env.QT_VERSION }} host: 'mac' target: 'ios' - modules: 'qtremoteobjects qt5compat' + modules: 'qtremoteobjects qt5compat qtshadertools' dir: ${{ runner.temp }} setup-python: 'true' set-env: 'true' diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 541e13bf..8d846e2c 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -18,24 +18,25 @@ set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER "Autogen") set_property(GLOBAL PROPERTY AUTOMOC_TARGETS_FOLDER "Autogen") set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "Autogen") -list(APPEND CMAKE_PREFIX_PATH ${PREFIX_PATH}) - find_package(Qt6 REQUIRED COMPONENTS Widgets Core Gui Network Xml RemoteObjects Quick Svg QuickControls2 Core5Compat ) -qt_standard_project_setup() +set(LIBS ${LIBS} + Qt6::Widgets Qt6::Core Qt6::Gui + Qt6::Network Qt6::Xml Qt6::RemoteObjects + Qt6::Quick Qt6::Svg Qt6::QuickControls2 + Qt6::Core5Compat +) if(IOS) execute_process(COMMAND bash ${CMAKE_CURRENT_LIST_DIR}/scripts/openvpn.sh) endif() -# silent builds on CI env set(IS_CI ${CI}) if(IS_CI) message("Detected CI env") -# CONFIG += silent ccache find_program(CCACHE "ccache") if(CCACHE) set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE}") @@ -191,65 +192,54 @@ if(WIN32) endif() if(APPLE) - if(NOT BUILD_OSX_APP_IDENTIFIER) - set(BUILD_OSX_APP_IDENTIFIER org.amnezia.AmneziaVPN CACHE STRING "OSX Application identifier") - endif() - if(NOT BUILD_IOS_APP_IDENTIFIER) - set(BUILD_IOS_APP_IDENTIFIER org.amnezia.AmneziaVPN CACHE STRING "iOS Application identifier") - endif() - if(NOT BUILD_IOS_GROUP_IDENTIFIER) - set(BUILD_IOS_GROUP_IDENTIFIER group.org.amnezia.AmneziaVPN.Guardian CACHE STRING "iOS Group identifier") - endif() - if(NOT BUILD_VPN_DEVELOPMENT_TEAM) - set(BUILD_VPN_DEVELOPMENT_TEAM X7UJ388FXK CACHE STRING "Amnezia VPN Development Team") - endif() - - set(CMAKE_XCODE_GENERATE_SCHEME FALSE) - set(CMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM ${BUILD_VPN_DEVELOPMENT_TEAM}) - set(CMAKE_XCODE_ATTRIBUTE_GROUP_ID_IOS ${BUILD_IOS_GROUP_IDENTIFIER}) - - if(IOS) - message("ios in mac") - #do nothing, IOS is added in below - - - - - else() #mac - set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE INTERNAL "" FORCE) - - message("MAC build") - set(HEADERS ${HEADERS} ${CMAKE_CURRENT_LIST_DIR}/ui/macos_util.h) - set(SOURCES ${SOURCES} ${CMAKE_CURRENT_LIST_DIR}/ui/macos_util.mm) - - # set(CMAKE_OSX_DEPLOYMENT_TARGET 10.14) - add_compile_definitions(MVPN_MACOS) - # ICON = $$PWD/images/app.icns - - - message(STATUS "test ${PROJECT_SOURCE_DIR}") - - find_library(LIB_LIBCRYPTO NAMES "libcrypto.a" - PATHS ${PROJECT_SOURCE_DIR}/3rd/OpenSSL/lib/macos/x86_64/ NO_DEFAULT_PATH) - - find_library(LIB_SSL NAMES "libssl.a" - PATHS ${PROJECT_SOURCE_DIR}/3rd/OpenSSL/lib/macos/x86_64/ NO_DEFAULT_PATH) - - - find_library(FW_COCOA Cocoa) - find_library(FW_APPLICATIONSERVICES ApplicationServices) - find_library(FW_CORESERVICES CoreServices) - find_library(FW_FOUNDATION Foundation) - find_library(FW_APPKIT AppKit) - find_library(FW_SECURITY Security) - - set(LIBS ${LIBS} ${FW_COCOA} ${FW_APPLICATIONSERVICES} ${FW_FOUNDATION} ${FW_APPKIT} - ${FW_SECURITY} ${FW_CORESERVICES} ${LIB_LIBCRYPTO} ${LIB_SSL}) - - + set(BUILD_OSX_APP_IDENTIFIER org.amnezia.AmneziaVPN CACHE STRING "OSX Application identifier") + endif() + if(NOT BUILD_IOS_APP_IDENTIFIER) + set(BUILD_IOS_APP_IDENTIFIER org.amnezia.AmneziaVPN CACHE STRING "iOS Application identifier") + endif() + if(NOT BUILD_IOS_GROUP_IDENTIFIER) + set(BUILD_IOS_GROUP_IDENTIFIER group.org.amnezia.AmneziaVPN.Guardian CACHE STRING "iOS Group identifier") + endif() + if(NOT BUILD_VPN_DEVELOPMENT_TEAM) + set(BUILD_VPN_DEVELOPMENT_TEAM X7UJ388FXK CACHE STRING "Amnezia VPN Development Team") endif() + set(CMAKE_XCODE_GENERATE_SCHEME FALSE) + set(CMAKE_XCODE_ATTRIBUTE_DEVELOPMENT_TEAM ${BUILD_VPN_DEVELOPMENT_TEAM}) + set(CMAKE_XCODE_ATTRIBUTE_GROUP_ID_IOS ${BUILD_IOS_GROUP_IDENTIFIER}) + + if(NOT IOS) + set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE INTERNAL "" FORCE) + + message("MAC build") + set(HEADERS ${HEADERS} ${CMAKE_CURRENT_LIST_DIR}/ui/macos_util.h) + set(SOURCES ${SOURCES} ${CMAKE_CURRENT_LIST_DIR}/ui/macos_util.mm) + + # set(CMAKE_OSX_DEPLOYMENT_TARGET 10.14) + add_compile_definitions(MVPN_MACOS) + # ICON = $$PWD/images/app.icns + find_library(LIB_LIBCRYPTO NAMES "libcrypto.a" + PATHS ${PROJECT_SOURCE_DIR}/3rd/OpenSSL/lib/macos/x86_64/ NO_DEFAULT_PATH) + + find_library(LIB_SSL NAMES "libssl.a" + PATHS ${PROJECT_SOURCE_DIR}/3rd/OpenSSL/lib/macos/x86_64/ NO_DEFAULT_PATH) + + + find_library(FW_COCOA Cocoa) + find_library(FW_APPLICATIONSERVICES ApplicationServices) + find_library(FW_CORESERVICES CoreServices) + find_library(FW_FOUNDATION Foundation) + find_library(FW_APPKIT AppKit) + find_library(FW_SECURITY Security) + + set(LIBS ${LIBS} + ${FW_COCOA} ${FW_APPLICATIONSERVICES} + ${FW_FOUNDATION} ${FW_APPKIT} + ${FW_SECURITY} ${FW_CORESERVICES} + ${LIB_LIBCRYPTO} ${LIB_SSL} + ) + endif() endif() @@ -319,13 +309,20 @@ endif() if(IOS) message("Client iOS build") + find_package(Qt6 REQUIRED COMPONENTS ShaderTools) + set(LIBS ${LIBS} Qt6::ShaderTools) + find_library(FW_AUTHENTICATIONSERVICES AuthenticationServices) find_library(FW_UIKIT UIKit) find_library(FW_FOUNDATION Foundation) find_library(FW_STOREKIT StoreKit) find_library(FW_USERNOTIFICATIONS UserNotifications) - set(LIBS ${LIBS} ${FW_AUTHENTICATIONSERVICES} ${FW_UIKIT} ${FW_FOUNDATION} ${FW_STOREKIT} ${FW_USERNOTIFICATIONS}) + set(LIBS ${LIBS} + ${FW_AUTHENTICATIONSERVICES} ${FW_UIKIT} + ${FW_FOUNDATION} ${FW_STOREKIT} + ${FW_USERNOTIFICATIONS} + ) add_compile_definitions(MVPN_IOS) @@ -352,17 +349,11 @@ if(IOS) ${CMAKE_CURRENT_LIST_DIR}/platforms/ios/QtAppDelegate.mm ${CMAKE_CURRENT_LIST_DIR}/platforms/ios/MobileUtils.mm ) - - - endif() if(CMAKE_OSX_SYSROOT STREQUAL "iphoneos") message("Building for iPhone OS") set(CMAKE_OSX_DEPLOYMENT_TARGET 13.0) - - - endif() qt_add_executable(${PROJECT} ${SOURCES} ${HEADERS} ${RESOURCES} ${QRC}) @@ -376,23 +367,26 @@ if(IOS) enable_language(OBJCXX) enable_language(Swift) include(src/cmake/osxtools.cmake) -# set(CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY TRUE) + # set(CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY TRUE) set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_ENABLE_BITCODE "NO") set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_ASSETCATALOG_COMPILER_APPICON_NAME "AppIcon") - set_target_properties(${PROJECT} PROPERTIES XCODE_LINK_BUILD_PHASE_MODE KNOWN_LOCATION) - set(CMAKE_XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS "@executable_path/Frameworks") - set(CMAKE_XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS ${CMAKE_CURRENT_LIST_DIR}/3rd/OpenVPNAdapter/build/Release-iphoneos) + set_target_properties(${PROJECT} PROPERTIES XCODE_LINK_BUILD_PHASE_MODE KNOWN_LOCATION) + set(CMAKE_XCODE_ATTRIBUTE_LD_RUNPATH_SEARCH_PATHS "@executable_path/Frameworks") + set(CMAKE_XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS ${CMAKE_CURRENT_LIST_DIR}/3rd/OpenVPNAdapter/build/Release-iphoneos) - set_target_properties(${PROJECT} PROPERTIES XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "org.amnezia.${PROJECT}" - XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1" - XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "X7UJ388FXK" - XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "Apple Development") - set(LIBS ${LIBS} + set_target_properties(${PROJECT} + PROPERTIES XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "org.amnezia.${PROJECT}" + XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1" + XCODE_ATTRIBUTE_DEVELOPMENT_TEAM "X7UJ388FXK" + XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "Apple Development" + ) + set(LIBS ${LIBS} ${CMAKE_CURRENT_LIST_DIR}/3rd/OpenSSL/lib/ios/iphone/libcrypto.a - ${CMAKE_CURRENT_LIST_DIR}/3rd/OpenSSL/lib/ios/iphone/libssl.a) + ${CMAKE_CURRENT_LIST_DIR}/3rd/OpenSSL/lib/ios/iphone/libssl.a + ) target_include_directories(${PROJECT} PRIVATE ${Qt6Gui_PRIVATE_INCLUDE_DIRS}) @@ -405,80 +399,79 @@ if(IOS) XCODE_ATTRIBUTE_SWIFT_OBJC_INTERFACE_HEADER_NAME "AmneziaVPN-Swift.h" ) -set_target_properties(${PROJECT} PROPERTIES - OUTPUT_NAME "AmneziaVPN" - MACOSX_BUNDLE ON - MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/ios/app/Info.plist.in - MACOSX_BUNDLE_BUNDLE_NAME "AmneziaVPN" - MACOSX_BUNDLE_BUNDLE_VERSION "${BUILD_ID}" - MACOSX_BUNDLE_COPYRIGHT "MPL-2.0" - MACOSX_BUNDLE_GUI_IDENTIFIER "${BUILD_IOS_APP_IDENTIFIER}" - MACOSX_BUNDLE_INFO_STRING "AmneziaVPN" - MACOSX_BUNDLE_LONG_VERSION_STRING "${CMAKE_PROJECT_VERSION}-${BUILD_ID}" - MACOSX_BUNDLE_SHORT_VERSION_STRING "${CMAKE_PROJECT_VERSION}" - XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "${BUILD_IOS_APP_IDENTIFIER}" - XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_SOURCE_DIR}/ios/app/main.entitlements" - XCODE_ATTRIBUTE_MARKETING_VERSION "${CMAKE_PROJECT_VERSION}" - XCODE_GENERATE_SCHEME TRUE -) -target_include_directories(${PROJECT} PRIVATE ${CMAKE_SOURCE_DIR}) + set_target_properties(${PROJECT} PROPERTIES + OUTPUT_NAME "AmneziaVPN" + MACOSX_BUNDLE ON + MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/ios/app/Info.plist.in + MACOSX_BUNDLE_BUNDLE_NAME "AmneziaVPN" + MACOSX_BUNDLE_BUNDLE_VERSION "${BUILD_ID}" + MACOSX_BUNDLE_COPYRIGHT "MPL-2.0" + MACOSX_BUNDLE_GUI_IDENTIFIER "${BUILD_IOS_APP_IDENTIFIER}" + MACOSX_BUNDLE_INFO_STRING "AmneziaVPN" + MACOSX_BUNDLE_LONG_VERSION_STRING "${CMAKE_PROJECT_VERSION}-${BUILD_ID}" + MACOSX_BUNDLE_SHORT_VERSION_STRING "${CMAKE_PROJECT_VERSION}" + XCODE_ATTRIBUTE_PRODUCT_BUNDLE_IDENTIFIER "${BUILD_IOS_APP_IDENTIFIER}" + XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS "${CMAKE_SOURCE_DIR}/ios/app/main.entitlements" + XCODE_ATTRIBUTE_MARKETING_VERSION "${CMAKE_PROJECT_VERSION}" + XCODE_GENERATE_SCHEME TRUE + ) + + target_include_directories(${PROJECT} PRIVATE ${CMAKE_SOURCE_DIR}) target_compile_options(${PROJECT} PRIVATE -DGROUP_ID=\"${BUILD_IOS_GROUP_IDENTIFIER}\" -DVPN_NE_BUNDLEID=\"${BUILD_IOS_APP_IDENTIFIER}.network-extension\" - ) + ) target_sources(${PROJECT} PRIVATE - ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/Keychain.swift - ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/IPAddressRange.swift - ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/InterfaceConfiguration.swift - ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/Model/NETunnelProviderProtocol+Extension.swift - ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/TunnelConfiguration.swift - ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/Model/TunnelConfiguration+WgQuickConfig.swift - ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/Endpoint.swift - ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/Model/String+ArrayConversion.swift - ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/PeerConfiguration.swift - ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/DNSServer.swift - ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardApp/LocalizationHelper.swift - ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/FileManager+Extension.swift - ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKitC/x25519.c - ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/PrivateKey.swift -) + ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/Keychain.swift + ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/IPAddressRange.swift + ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/InterfaceConfiguration.swift + ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/Model/NETunnelProviderProtocol+Extension.swift + ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/TunnelConfiguration.swift + ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/Model/TunnelConfiguration+WgQuickConfig.swift + ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/Endpoint.swift + ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/Model/String+ArrayConversion.swift + ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/PeerConfiguration.swift + ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/DNSServer.swift + ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardApp/LocalizationHelper.swift + ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/Shared/FileManager+Extension.swift + ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKitC/x25519.c + ${CMAKE_SOURCE_DIR}/3rd/wireguard-apple/Sources/WireGuardKit/PrivateKey.swift + ) - target_sources(${PROJECT} PRIVATE - platforms/ios/iosvpnprotocol.swift - platforms/ios/ioslogger.swift - ) + target_sources(${PROJECT} PRIVATE + platforms/ios/iosvpnprotocol.swift + platforms/ios/ioslogger.swift + ) - target_sources(${PROJECT} PRIVATE - ${CMAKE_SOURCE_DIR}/ios/app/launch.png - ${CMAKE_SOURCE_DIR}/ios/app/AmneziaVPNLaunchScreen.storyboard) - set_source_files_properties( - ${CMAKE_SOURCE_DIR}/ios/app/launch.png - ${CMAKE_SOURCE_DIR}/ios/app/AmneziaVPNLaunchScreen.storyboard - PROPERTIES MACOSX_PACKAGE_LOCATION "Resources") - - target_sources(${PROJECT} PRIVATE ${CMAKE_SOURCE_DIR}/ios/Media.xcassets) - set_source_files_properties(Media.xcassets PROPERTIES - MACOSX_PACKAGE_LOCATION Resources - ) - - add_subdirectory(ios/networkextension) - add_dependencies(${PROJECT} networkextension) - set_target_properties(${PROJECT} PROPERTIES XCODE_EMBED_APP_EXTENSIONS networkextension) - - set_property(TARGET "networkextension" PROPERTY XCODE_EMBED_FRAMEWORKS - "${CMAKE_CURRENT_LIST_DIR}/3rd/OpenVPNAdapter/build/Release-iphoneos/OpenVPNAdapter.framework" - ) - set_target_properties(networkextension PROPERTIES XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY ON) - set_target_properties(networkextension PROPERTIES XCODE_LINK_BUILD_PHASE_MODE KNOWN_LOCATION) + target_sources(${PROJECT} PRIVATE + ${CMAKE_SOURCE_DIR}/ios/app/launch.png + ${CMAKE_SOURCE_DIR}/ios/app/AmneziaVPNLaunchScreen.storyboard + ) + set_source_files_properties( + ${CMAKE_SOURCE_DIR}/ios/app/launch.png + ${CMAKE_SOURCE_DIR}/ios/app/AmneziaVPNLaunchScreen.storyboard + PROPERTIES MACOSX_PACKAGE_LOCATION "Resources" + ) + target_sources(${PROJECT} PRIVATE ${CMAKE_SOURCE_DIR}/ios/Media.xcassets) + set_source_files_properties(Media.xcassets PROPERTIES + MACOSX_PACKAGE_LOCATION Resources + ) + add_subdirectory(ios/networkextension) + add_dependencies(${PROJECT} networkextension) + set_target_properties(${PROJECT} PROPERTIES XCODE_EMBED_APP_EXTENSIONS networkextension) + set_property(TARGET "networkextension" PROPERTY XCODE_EMBED_FRAMEWORKS + "${CMAKE_CURRENT_LIST_DIR}/3rd/OpenVPNAdapter/build/Release-iphoneos/OpenVPNAdapter.framework" + ) + set_target_properties(networkextension PROPERTIES XCODE_EMBED_FRAMEWORKS_CODE_SIGN_ON_COPY ON) + set_target_properties(networkextension PROPERTIES XCODE_LINK_BUILD_PHASE_MODE KNOWN_LOCATION) endif() - if(ANDROID) add_custom_command( TARGET ${PROJECT} POST_BUILD @@ -525,12 +518,7 @@ if(ANDROID) endforeach() endif() -target_link_libraries(${PROJECT} PRIVATE - Qt6::Widgets Qt6::Core Qt6::Gui - Qt6::Network Qt6::Xml Qt6::RemoteObjects - Qt6::Quick Qt6::Svg Qt6::QuickControls2 - Qt6::Core5Compat ${LIBS} -) +target_link_libraries(${PROJECT} PRIVATE ${LIBS}) if(WIN32 OR (APPLE AND NOT IOS) OR (LINUX AND NOT ANDROID)) qt_add_repc_replicas(${PROJECT} ${CMAKE_CURRENT_LIST_DIR}/../ipc/ipc_interface.rep)