diff --git a/Cargo.lock b/Cargo.lock index 120fade92be3eb2ac6fdae095fc04dd1b6d88183..db2936f2252664e8fc32fab6d6799c78cab55c90 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -9294,6 +9294,7 @@ dependencies = [ "ctrlc", "dialoguer", "editor", + "embed-manifest", "fuzzy", "gpui", "indoc", diff --git a/crates/storybook/Cargo.toml b/crates/storybook/Cargo.toml index 38cc3ddc98db7d04260b76ad0ec873eb66307cd6..5beea54061c3ce455564e2a7719f8a377f9c2bbf 100644 --- a/crates/storybook/Cargo.toml +++ b/crates/storybook/Cargo.toml @@ -34,5 +34,8 @@ strum = { version = "0.25.0", features = ["derive"] } theme.workspace = true ui = { workspace = true, features = ["stories"] } +[target.'cfg(target_os = "windows")'.build-dependencies] +embed-manifest = "1.4.0" + [dev-dependencies] gpui = { workspace = true, features = ["test-support"] } diff --git a/crates/storybook/build.rs b/crates/storybook/build.rs index 4a713e4c1aa7df84e343a98f70affb81db51ee59..fcb9db5cb7a52508b58f00202f14d235116eabf4 100644 --- a/crates/storybook/build.rs +++ b/crates/storybook/build.rs @@ -3,16 +3,16 @@ fn main() { // TODO: We shouldn't depend on WebRTC in editor println!("cargo:rustc-link-arg=-Wl,-rpath,@executable_path"); - if std::env::var("CARGO_CFG_TARGET_ENV").ok() == Some("msvc".to_string()) { - println!("cargo:rustc-link-arg=/stack:{}", 8 * 1024 * 1024); + #[cfg(target_os = "windows")] + { + #[cfg(target_env = "msvc")] + { + println!("cargo:rustc-link-arg=/stack:{}", 8 * 1024 * 1024); + } let manifest = std::path::Path::new("../zed/resources/windows/manifest.xml"); println!("cargo:rerun-if-changed={}", manifest.display()); - println!("cargo:rustc-link-arg-bins=/MANIFEST:EMBED"); - - println!( - "cargo:rustc-link-arg-bins=/MANIFESTINPUT:{}", - manifest.canonicalize().unwrap().display() - ); + embed_manifest::embed_manifest(embed_manifest::new_manifest(manifest.to_str().unwrap())) + .unwrap(); } } diff --git a/crates/zed/build.rs b/crates/zed/build.rs index d92796e5d5361389ef0683b59706d05886811410..8def598fd4ffcdbce5856519fd3cbf1a089b3802 100644 --- a/crates/zed/build.rs +++ b/crates/zed/build.rs @@ -46,7 +46,8 @@ fn main() { #[cfg(target_os = "windows")] { - if std::env::var("CARGO_CFG_TARGET_ENV").ok() == Some("msvc".to_string()) { + #[cfg(target_env = "msvc")] + { // todo(windows): This is to avoid stack overflow. Remove it when solved. println!("cargo:rustc-link-arg=/stack:{}", 8 * 1024 * 1024); }