Change summary
crates/gpui/Cargo.toml | 6 +++---
crates/gpui/build.rs | 29 ++++++++++++++++++-----------
2 files changed, 21 insertions(+), 14 deletions(-)
Detailed changes
@@ -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"
@@ -3,18 +3,25 @@
//TODO: consider generating shader code for WGSL
//TODO: deprecate "runtime-shaders" and "macos-blade"
+use std::env;
+
fn main() {
- #[cfg(target_os = "macos")]
- macos::build();
-
- #[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);
- }
+ 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")]