From 2bc837cce4f34d70f730dd22cc3ece0ac1ffa199 Mon Sep 17 00:00:00 2001 From: Macbook Date: Mon, 30 Sep 2024 22:31:30 +0700 Subject: [PATCH] update cmake apple --- client/CMakeLists.txt | 4 ++-- client/cmake/apple.cmake | 6 +++--- client/ios/scripts/openvpn.sh | 30 ++++++++++++++++++------------ 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 4165a954..c84d4a7a 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -3,8 +3,8 @@ cmake_minimum_required(VERSION 3.25.0 FATAL_ERROR) set(PROJECT AmneziaVPN) project(${PROJECT}) -set(IOS 1) -# set(APPLE 1) +#set(IOS 1) +set(APPLE 1) set_property(GLOBAL PROPERTY USE_FOLDERS ON) set_property(GLOBAL PROPERTY AUTOGEN_TARGETS_FOLDER "Autogen") diff --git a/client/cmake/apple.cmake b/client/cmake/apple.cmake index a77073ee..613b3496 100644 --- a/client/cmake/apple.cmake +++ b/client/cmake/apple.cmake @@ -166,13 +166,13 @@ add_subdirectory(macos/networkextension) add_dependencies(${PROJECT} networkextension) set_property(TARGET ${PROJECT} PROPERTY XCODE_EMBED_FRAMEWORKS - "${CMAKE_CURRENT_SOURCE_DIR}/3rd/OpenVPNAdapter/build/Release-iphoneos/OpenVPNAdapter.framework" + "${CMAKE_CURRENT_SOURCE_DIR}/3rd/OpenVPNAdapter/build/Release-macos/OpenVPNAdapter.framework" ) -set(CMAKE_XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS ${CMAKE_CURRENT_SOURCE_DIR}/3rd/OpenVPNAdapter/build/Release-iphoneos) -target_link_libraries("networkextension" PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/3rd/OpenVPNAdapter/build/Release-iphoneos/OpenVPNAdapter.framework") +set(CMAKE_XCODE_ATTRIBUTE_FRAMEWORK_SEARCH_PATHS ${CMAKE_CURRENT_SOURCE_DIR}/3rd/OpenVPNAdapter/build/Release-macos) +target_link_libraries("networkextension" PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/3rd/OpenVPNAdapter/build/Release-macos/OpenVPNAdapter.framework") get_target_property(QtCore_location Qt6::Core LOCATION) message("QtCore_location") diff --git a/client/ios/scripts/openvpn.sh b/client/ios/scripts/openvpn.sh index 704807be..ce8f6054 100755 --- a/client/ios/scripts/openvpn.sh +++ b/client/ios/scripts/openvpn.sh @@ -2,22 +2,28 @@ XCODEBUILD="/usr/bin/xcodebuild" WORKINGDIR=`pwd` PATCH="/usr/bin/patch" - cat $WORKINGDIR/3rd/OpenVPNAdapter/Configuration/Project.xcconfig > $WORKINGDIR/3rd/OpenVPNAdapter/Configuration/amnezia.xcconfig - cat << EOF >> $WORKINGDIR/3rd/OpenVPNAdapter/Configuration/amnezia.xcconfig - PROJECT_TEMP_DIR = $WORKINGDIR/3rd/OpenVPNAdapter/build/OpenVPNAdapter.build - CONFIGURATION_BUILD_DIR = $WORKINGDIR/3rd/OpenVPNAdapter/build/Release-iphoneos - BUILT_PRODUCTS_DIR = $WORKINGDIR/3rd/OpenVPNAdapter/build/Release-iphoneos +# Copy the Project.xcconfig settings to amnezia.xcconfig +cat $WORKINGDIR/3rd/OpenVPNAdapter/Configuration/Project.xcconfig > $WORKINGDIR/3rd/OpenVPNAdapter/Configuration/amnezia.xcconfig + +# Append macOS-specific build directory configurations to amnezia.xcconfig +cat << EOF >> $WORKINGDIR/3rd/OpenVPNAdapter/Configuration/amnezia.xcconfig +PROJECT_TEMP_DIR = $WORKINGDIR/3rd/OpenVPNAdapter/build/OpenVPNAdapter.build +CONFIGURATION_BUILD_DIR = $WORKINGDIR/3rd/OpenVPNAdapter/build/Release-macos +BUILT_PRODUCTS_DIR = $WORKINGDIR/3rd/OpenVPNAdapter/build/Release-macos EOF -# Lấy phiên bản SDK macOS hiện tại -MACOSX_SDK=$(xcodebuild -showsdks | grep macosx | sed -E 's/.*macosx([0-9]+\.[0-9]+).*/macosx\1/') - +# Fetch the current macOS SDK version dynamically +MACOSX_SDK=macosx15.0 cd 3rd/OpenVPNAdapter -if $XCODEBUILD -scheme OpenVPNAdapter -configuration Release -xcconfig Configuration/amnezia.xcconfig -sdk $MACOSX_SDK -destination 'generic/platform=MacOS' -project OpenVPNAdapter.xcodeproj ; then - echo "OpenVPNAdapter built successfully" + +# Build for macOS using the correct SDK and destination +if $XCODEBUILD -scheme OpenVPNAdapter -configuration Release -xcconfig Configuration/amnezia.xcconfig -sdk $MACOSX_SDK -destination 'generic/platform=macOS' -project OpenVPNAdapter.xcodeproj ; then + echo "OpenVPNAdapter built successfully for macOS" else - echo "OpenVPNAdapter build failed ..." + echo "OpenVPNAdapter macOS build failed ..." fi -rm -rf ./build/Release-iphoneos/OpenVPNAdapter.framework/Versions/A/_CodeSignature +# Remove CodeSignature if needed for macOS +rm -rf ./build/Release-macos/OpenVPNAdapter.framework/Versions/A/_CodeSignature + cd ../../