diff --git a/crates/gpui/Cargo.toml b/crates/gpui/Cargo.toml index 409fe5ce59..8f9f3d5a25 100644 --- a/crates/gpui/Cargo.toml +++ b/crates/gpui/Cargo.toml @@ -81,6 +81,9 @@ collections = { workspace = true, features = ["test-support"] } util = { workspace = true, features = ["test-support"] } http = { workspace = true, features = ["test-support"] } +[build-dependencies] +embed-resource = "2.4" + [target.'cfg(target_os = "macos")'.build-dependencies] bindgen = "0.65.1" cbindgen = "0.26.0" @@ -143,9 +146,6 @@ windows.workspace = true windows-core = "0.57" clipboard-win = "3.1.1" -[target.'cfg(windows)'.build-dependencies] -embed-resource = "2.4" - [[example]] name = "hello_world" path = "examples/hello_world.rs" diff --git a/crates/gpui/build.rs b/crates/gpui/build.rs index 46c55ee278..0808288e59 100644 --- a/crates/gpui/build.rs +++ b/crates/gpui/build.rs @@ -3,18 +3,25 @@ //TODO: consider generating shader code for WGSL //TODO: deprecate "runtime-shaders" and "macos-blade" -fn main() { - #[cfg(target_os = "macos")] - macos::build(); +use std::env; - #[cfg(target_os = "windows")] - { - let manifest = std::path::Path::new("resources/windows/gpui.manifest.xml"); - let rc_file = std::path::Path::new("resources/windows/gpui.rc"); - println!("cargo:rerun-if-changed={}", manifest.display()); - println!("cargo:rerun-if-changed={}", rc_file.display()); - embed_resource::compile(rc_file, embed_resource::NONE); - } +fn main() { + let target = env::var("CARGO_CFG_TARGET_OS"); + + match target.as_deref() { + Ok("macos") => { + #[cfg(target_os = "macos")] + macos::build(); + } + Ok("windows") => { + let manifest = std::path::Path::new("resources/windows/gpui.manifest.xml"); + let rc_file = std::path::Path::new("resources/windows/gpui.rc"); + println!("cargo:rerun-if-changed={}", manifest.display()); + println!("cargo:rerun-if-changed={}", rc_file.display()); + embed_resource::compile(rc_file, embed_resource::NONE); + } + _ => (), + }; } #[cfg(target_os = "macos")]