# Environment variables set for all cargo invocations in this workspace. # CMAKE_POLICY_VERSION_MINIMUM is required for audiopus_sys's bundled # Opus CMake build to succeed on CMake 4.x (which removed compatibility # with cmake_minimum_required < 3.5). audiopus_sys v0.2.2 bundles # Opus 1.3.1 whose CMakeLists.txt uses a very old minimum version. [env] CMAKE_POLICY_VERSION_MINIMUM = "3.5" # iOS builds must set IPHONEOS_DEPLOYMENT_TARGET in the invoking script # or Xcode build phase. Do not set it globally here: native macOS cargo # checks also compile bundled C/C++ dependencies, and a global iOS # deployment target makes clang try to link iPhone objects against the # macOS SDK. # iOS target linker flags (DEC-003: minimum deployment target iOS 13.0). # # These rustflags pass -miphoneos-version-min=13.0 to the linker, ensuring # the final binary targets iOS 13.0+. This is defense-in-depth alongside # the IPHONEOS_DEPLOYMENT_TARGET env var above — the env var affects C # compilation (cc crate, CMake), while these rustflags affect the final # link step. # # NOTE: The canonical iOS build is done via tools/build-ios.sh, which # sets LIBOPUS_STATIC=1, LIBOPUS_NO_PKG=1, and LIBOPUS_LIB_DIR to # bypass audiopus_sys's CMake build entirely. [target.aarch64-apple-ios] rustflags = ["-C", "link-arg=-miphoneos-version-min=13.0"] [target.aarch64-apple-ios-sim] rustflags = ["-C", "link-arg=-miphonesimulator-version-min=13.0"] [target.x86_64-apple-ios] rustflags = ["-C", "link-arg=-miphonesimulator-version-min=13.0"]