diff --git a/client/macos/scripts/openvpn.sh b/client/macos/scripts/openvpn.sh index 18c4729d..1a0bba47 100644 --- a/client/macos/scripts/openvpn.sh +++ b/client/macos/scripts/openvpn.sh @@ -1,11 +1,13 @@ +#!/bin/bash + XCODEBUILD="/usr/bin/xcodebuild" WORKINGDIR=`pwd` PATCH="/usr/bin/patch" + echo "Building OpenVPNAdapter for macOS ..." + # Copy the Project.xcconfig settings to amnezia.xcconfig cat $WORKINGDIR/3rd/OpenVPNAdapter/Configuration/Project.xcconfig > $WORKINGDIR/3rd/OpenVPNAdapter/Configuration/amnezia.xcconfig -OTHER_LDFLAGS[sdk=iphoneos*] = -framework UIKit -OTHER_LDFLAGS[sdk=macosx*] = -framework Cocoa # Append macOS-specific build directory configurations to amnezia.xcconfig cat << EOF >> $WORKINGDIR/3rd/OpenVPNAdapter/Configuration/amnezia.xcconfig @@ -14,12 +16,18 @@ CONFIGURATION_BUILD_DIR = $WORKINGDIR/3rd/OpenVPNAdapter/build/Release-macos BUILT_PRODUCTS_DIR = $WORKINGDIR/3rd/OpenVPNAdapter/build/Release-macos EOF +# Add LDFLAGS for macOS, exclude UIKit which is for iOS only +echo "OTHER_LDFLAGS = -framework Cocoa" >> $WORKINGDIR/3rd/OpenVPNAdapter/Configuration/amnezia.xcconfig + # Fetch the current macOS SDK version dynamically -MACOSX_SDK=macosx15.0 +MACOSX_SDK=$(xcrun --sdk macosx --show-sdk-path | sed -E 's/.*MacOSX([0-9]+\.[0-9]+)\.sdk/\1/') + +echo "Using macOS SDK version: $MACOSX_SDK" + cd 3rd/OpenVPNAdapter # 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 +if $XCODEBUILD -scheme OpenVPNAdapter -configuration Release -xcconfig Configuration/amnezia.xcconfig -sdk macosx$MACOSX_SDK -destination 'generic/platform=macOS' -project OpenVPNAdapter.xcodeproj ; then echo "OpenVPNAdapter built successfully for macOS" else echo "OpenVPNAdapter macOS build failed ..."