From 72057e5716a22de4838699d65ae356e1d43b8e81 Mon Sep 17 00:00:00 2001 From: Jason Lee Date: Sat, 4 Jan 2025 08:42:37 +0800 Subject: [PATCH] cli: Fix support for older macOS versions (#22515) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Close #22419 Release Notes: - Fixed `zed` cli crash by `ScreenCaptureKit` library not loaded error on macOS lower versions. image --- The main reason is the `cli` depends on `release_channel`, and it depends on `gpui`. ``` $ cargo tree -p cli ├── release_channel v0.1.0 (/Users/jason/github/zed/crates/release_channel) │ └── gpui v0.1.0 (/Users/jason/github/zed/crates/gpui) │ ├── anyhow v1.0.95 │ ├── async-task v4.7.1 │ ├── block v0.1.6 │ ├── cocoa v0.26.0 ``` --- crates/cli/build.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/crates/cli/build.rs b/crates/cli/build.rs index 399755fa28..54f1f587bc 100644 --- a/crates/cli/build.rs +++ b/crates/cli/build.rs @@ -2,4 +2,10 @@ fn main() { if std::env::var("ZED_UPDATE_EXPLANATION").is_ok() { println!(r#"cargo:rustc-cfg=feature="no-bundled-uninstall""#); } + + if cfg!(target_os = "macos") { + println!("cargo:rustc-env=MACOSX_DEPLOYMENT_TARGET=10.15.7"); + // Weakly link ScreenCaptureKit to ensure can be used on macOS 10.15+. + println!("cargo:rustc-link-arg=-Wl,-weak_framework,ScreenCaptureKit"); + } }