From 74893437e662a466bf4259283406d70e72a7deaa Mon Sep 17 00:00:00 2001 From: Tony Li Date: Fri, 5 Apr 2024 10:12:56 +1300 Subject: [PATCH 1/2] Set deployment targets to the static libraries built for Apple platforms --- Makefile | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index 9cd54d686..bdeace152 100644 --- a/Makefile +++ b/Makefile @@ -13,6 +13,12 @@ docker_opts_shared := --rm -v "$(PWD)":$(docker_container_repo_dir) -w $(docker rust_docker_run := docker run -v $(PWD):/$(docker_container_repo_dir) -w $(docker_container_repo_dir) -it -e CARGO_HOME=/app/.cargo $(rust_docker_container) docker_build_and_run := docker build -t foo . && docker run $(docker_opts_shared) -it foo +swift_package_platform_version = $(shell swift package dump-package | jq -r '.platforms[] | select(.platformName=="$1") | .version') +swift_package_platform_macos := $(call swift_package_platform_version,macos) +swift_package_platform_ios := $(call swift_package_platform_version,ios) +swift_package_platform_watchos := $(call swift_package_platform_version,watchos) +swift_package_platform_tvos := $(call swift_package_platform_version,tvos) + # Required for supporting tvOS and watchOS. We can update the nightly toolchain version if needed. # The project doesn't compile with the nightly toolchain built on 2024-03-28 and onward. rust_nightly_toolchain := nightly-2024-03-27 @@ -59,23 +65,23 @@ _publish-android-local: # Builds the library for all the various architectures / systems required in an XCFramework xcframework-libraries: # macOS - $(MAKE) x86_64-apple-darwin-xcframework-library - $(MAKE) aarch64-apple-darwin-xcframework-library + env MACOSX_DEPLOYMENT_TARGET=$(swift_package_platform_macos) $(MAKE) x86_64-apple-darwin-xcframework-library + env MACOSX_DEPLOYMENT_TARGET=$(swift_package_platform_macos) $(MAKE) aarch64-apple-darwin-xcframework-library # iOS - $(MAKE) aarch64-apple-ios-xcframework-library - $(MAKE) x86_64-apple-ios-xcframework-library - $(MAKE) aarch64-apple-ios-sim-xcframework-library + env IPHONEOS_DEPLOYMENT_TARGET=$(swift_package_platform_ios) $(MAKE) aarch64-apple-ios-xcframework-library + env IPHONEOS_DEPLOYMENT_TARGET=$(swift_package_platform_ios) $(MAKE) x86_64-apple-ios-xcframework-library + env IPHONEOS_DEPLOYMENT_TARGET=$(swift_package_platform_ios) $(MAKE) aarch64-apple-ios-sim-xcframework-library # tvOS - $(MAKE) aarch64-apple-tvos-xcframework-library-with-nightly - $(MAKE) aarch64-apple-tvos-sim-xcframework-library-with-nightly - $(MAKE) x86_64-apple-tvos-xcframework-library-with-nightly + env TVOS_DEPLOYMENT_TARGET=$(swift_package_platform_tvos) $(MAKE) aarch64-apple-tvos-xcframework-library-with-nightly + env TVOS_DEPLOYMENT_TARGET=$(swift_package_platform_tvos) $(MAKE) aarch64-apple-tvos-sim-xcframework-library-with-nightly + env TVOS_DEPLOYMENT_TARGET=$(swift_package_platform_tvos) $(MAKE) x86_64-apple-tvos-xcframework-library-with-nightly # watchOS - $(MAKE) arm64_32-apple-watchos-xcframework-library-with-nightly - $(MAKE) aarch64-apple-watchos-sim-xcframework-library-with-nightly - $(MAKE) x86_64-apple-watchos-sim-xcframework-library-with-nightly + env WATCHOS_DEPLOYMENT_TARGET=$(swift_package_platform_watchos) $(MAKE) arm64_32-apple-watchos-xcframework-library-with-nightly + env WATCHOS_DEPLOYMENT_TARGET=$(swift_package_platform_watchos) $(MAKE) aarch64-apple-watchos-sim-xcframework-library-with-nightly + env WATCHOS_DEPLOYMENT_TARGET=$(swift_package_platform_watchos) $(MAKE) x86_64-apple-watchos-sim-xcframework-library-with-nightly %-xcframework-library: cargo build --target $* --package wp_api --release From 7aafcdaa71c7745f3be95cbb6a578758e16066cd Mon Sep 17 00:00:00 2001 From: Tony Li Date: Fri, 5 Apr 2024 10:30:19 +1300 Subject: [PATCH 2/2] Bump macOS minimal version to align with rust libraries --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 406b1c19e..83313daca 100644 --- a/Package.swift +++ b/Package.swift @@ -17,7 +17,7 @@ let package = Package( name: "wordpress", platforms: [ .iOS(.v13), - .macOS(.v10_15), + .macOS(.v11), .tvOS(.v13), .watchOS(.v8) ],