Bump minimum macOS version to 10.15.7

Antonio Scandurra and Nathan Sobo created

This solves an issue with loading Swift libraries when running the
x86_64 binary.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Change summary

crates/gpui/build.rs            |  2 +-
crates/live_kit_client/build.rs | 12 ++++--------
crates/zed/Cargo.toml           |  2 +-
crates/zed/build.rs             |  2 +-
script/bundle                   |  7 +++++--
5 files changed, 12 insertions(+), 13 deletions(-)

Detailed changes

crates/gpui/build.rs 🔗

@@ -57,7 +57,7 @@ fn compile_metal_shaders() {
             "macosx",
             "metal",
             "-gline-tables-only",
-            "-mmacosx-version-min=10.14",
+            "-mmacosx-version-min=10.15.7",
             "-MO",
             "-c",
             shader_path,

crates/live_kit_client/build.rs 🔗

@@ -32,7 +32,7 @@ pub struct SwiftTarget {
     pub paths: SwiftPaths,
 }
 
-const MACOS_TARGET_VERSION: &str = "10.15";
+const MACOS_TARGET_VERSION: &str = "10.15.7";
 
 fn main() {
     if cfg!(not(any(test, feature = "test-support"))) {
@@ -81,13 +81,9 @@ fn build_bridge(swift_target: &SwiftTarget) {
 }
 
 fn link_swift_stdlib(swift_target: &SwiftTarget) {
-    swift_target
-        .paths
-        .runtime_library_paths
-        .iter()
-        .for_each(|path| {
-            println!("cargo:rustc-link-search=native={}", path);
-        });
+    for path in &swift_target.paths.runtime_library_paths {
+        println!("cargo:rustc-link-search=native={}", path);
+    }
 }
 
 fn link_webrtc_framework(swift_target: &SwiftTarget) {

crates/zed/Cargo.toml 🔗

@@ -127,4 +127,4 @@ unindent = "0.1.7"
 icon = ["app-icon@2x.png", "app-icon.png"]
 identifier = "dev.zed.Zed"
 name = "Zed"
-osx_minimum_system_version = "10.14"
+osx_minimum_system_version = "10.15.7"

crates/zed/build.rs 🔗

@@ -1,7 +1,7 @@
 use std::process::Command;
 
 fn main() {
-    println!("cargo:rustc-env=MACOSX_DEPLOYMENT_TARGET=10.14");
+    println!("cargo:rustc-env=MACOSX_DEPLOYMENT_TARGET=10.15.7");
 
     if let Ok(api_key) = std::env::var("ZED_AMPLITUDE_API_KEY") {
         println!("cargo:rustc-env=ZED_AMPLITUDE_API_KEY={api_key}");

script/bundle 🔗

@@ -3,7 +3,7 @@
 set -e
 
 export ZED_BUNDLE=true
-export MACOSX_DEPLOYMENT_TARGET=10.14
+export MACOSX_DEPLOYMENT_TARGET=10.15.7
 
 echo "Installing cargo bundle"
 cargo install cargo-bundle --version 0.5.0
@@ -12,10 +12,13 @@ rustup target add wasm32-wasi
 # Deal with versions of macOS that don't include libstdc++ headers
 export CXXFLAGS="-stdlib=libc++"
 
-echo "Compiling binaries"
+echo "Compiling zed binary for aarch64-apple-darwin"
 cargo build --release --package zed --target aarch64-apple-darwin
+echo "Compiling zed binary for x86_64-apple-darwin"
 cargo build --release --package zed --target x86_64-apple-darwin
+echo "Compiling cli binary for aarch64-apple-darwin"
 cargo build --release --package cli --target aarch64-apple-darwin
+echo "Compiling cli binary for x86_64-apple-darwin"
 cargo build --release --package cli --target x86_64-apple-darwin
 
 echo "Creating application bundle"