Files
UIrclone/src/build.rs
T
2026-03-29 13:07:35 +03:00

50 lines
1.4 KiB
Rust

use std::env;
use std::path::PathBuf;
fn main() {
#[cfg(target_os = "linux")]
{
// Check for X11 libraries
println!("cargo:rustc-link-lib=X11");
println!("cargo:rustc-link-lib=Xrandr");
println!("cargo:rustc-link-lib=Xinerama");
println!("cargo:rustc-link-lib=Xcursor");
println!("cargo:rustc-link-lib=Xi");
// Check for Wayland libraries (optional)
if env::var("CARGO_FEATURE_WAYLAND").is_ok() {
println!("cargo:rustc-link-lib=wayland-client");
println!("cargo:rustc-link-lib=wayland-egl");
}
// Set library search paths
let lib_paths = vec![
"/usr/lib/x86_64-linux-gnu",
"/usr/lib64",
"/usr/lib",
];
for path in lib_paths {
println!("cargo:rustc-link-search={}", path);
}
// Set pkg-config for better detection
if let Ok(pkg_config) = which::which("pkg-config") {
println!("cargo:rustc-env=PKG_CONFIG_PATH={}", pkg_config.display());
}
}
#[cfg(target_os = "windows")]
{
println!("cargo:rustc-link-lib=user32");
println!("cargo:rustc-link-lib=shell32");
println!("cargo:rustc-link-lib=gdi32");
}
#[cfg(target_os = "macos")]
{
println!("cargo:rustc-link-lib=framework=Cocoa");
println!("cargo:rustc-link-lib=framework=Foundation");
}
}