use std::path::PathBuf; fn main() { let manifest_dir = PathBuf::from(std::env::var("CARGO_MANIFEST_DIR").expect("manifest dir")); let workspace_dir = manifest_dir.parent().expect("workspace dir"); let server_uvc = workspace_dir .join("server/src/bin/lesavka-uvc.rs") .canonicalize() .expect("canonical server uvc bin path"); let server_main = workspace_dir .join("server/src/main.rs") .canonicalize() .expect("canonical server main path"); let client_main = workspace_dir .join("client/src/main.rs") .canonicalize() .expect("canonical client main path"); let client_inputs = workspace_dir .join("client/src/input/inputs.rs") .canonicalize() .expect("canonical client inputs path"); let client_keyboard = workspace_dir .join("client/src/input/keyboard.rs") .canonicalize() .expect("canonical client keyboard path"); let client_mouse = workspace_dir .join("client/src/input/mouse.rs") .canonicalize() .expect("canonical client mouse path"); let common_cli = workspace_dir .join("common/src/bin/cli.rs") .canonicalize() .expect("canonical common cli bin path"); println!( "cargo:rustc-env=LESAVKA_SERVER_UVC_BIN_SRC={}", server_uvc.display() ); println!( "cargo:rustc-env=LESAVKA_SERVER_MAIN_SRC={}", server_main.display() ); println!( "cargo:rustc-env=LESAVKA_CLIENT_MAIN_SRC={}", client_main.display() ); println!( "cargo:rustc-env=LESAVKA_CLIENT_INPUTS_SRC={}", client_inputs.display() ); println!( "cargo:rustc-env=LESAVKA_CLIENT_KEYBOARD_SRC={}", client_keyboard.display() ); println!( "cargo:rustc-env=LESAVKA_CLIENT_MOUSE_SRC={}", client_mouse.display() ); println!( "cargo:rustc-env=LESAVKA_COMMON_CLI_BIN_SRC={}", common_cli.display() ); }