forked from RustPython/RustPython
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.rs
More file actions
29 lines (28 loc) · 1.02 KB
/
build.rs
File metadata and controls
29 lines (28 loc) · 1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
fn main() {
let target = std::env::var("CARGO_CFG_TARGET_OS").unwrap();
let capi_enabled = std::env::var_os("CARGO_FEATURE_CAPI").is_some();
match target.as_str() {
"linux" if capi_enabled => {
println!("cargo:rustc-link-arg-bin=rustpython=-Wl,--export-dynamic");
}
"macos" if capi_enabled => {
println!("cargo:rustc-link-arg-bin=rustpython=-Wl,-export_dynamic");
}
"windows" => {
println!("cargo:rerun-if-changed=logo.ico");
let mut res = winresource::WindowsResource::new();
if std::path::Path::new("logo.ico").exists() {
res.set_icon("logo.ico");
} else {
println!("cargo:warning=logo.ico not found, skipping icon embedding");
return;
}
res.compile()
.map_err(|e| {
println!("cargo:warning=Failed to compile Windows resources: {e}");
})
.ok();
}
_ => {}
}
}