From 3ebe556cf18cb864ebcd04fc3cdec381d71271e3 Mon Sep 17 00:00:00 2001 From: Stephen Buchanan Date: Wed, 19 Jun 2024 09:24:26 +0200 Subject: [PATCH] Add MacOS compatibility (#81) * default SDK path for MacOS * new format for rustc v1.77+ * added entry to changelog, ran cargo fmt --- CHANGELOG.md | 1 + build.rs | 16 ++++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82c30bf..a01928b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) ## [Unreleased] - yyyy-mm-dd ### Added +- Support for MacOS ### Changed diff --git a/build.rs b/build.rs index 736faf2..213916d 100644 --- a/build.rs +++ b/build.rs @@ -1,14 +1,18 @@ use std::{env, path::PathBuf}; -#[cfg(windows)] +#[cfg(target_os = "windows")] const DEFAULT_LEAPSDK_LIB_PATH: &str = r"C:\Program Files\Ultraleap\LeapSDK\lib\x64"; -#[cfg(not(windows))] +#[cfg(target_os = "macos")] +const DEFAULT_LEAPSDK_LIB_PATH: &str = + r"/Applications/Ultraleap Hand Tracking.app/Contents/LeapSDK/lib"; + +#[cfg(target_os = "linux")] const DEFAULT_LEAPSDK_LIB_PATH: &str = r"/usr/share/doc/ultraleap-hand-tracking-service"; fn main() { // Find Leap SDK - println!(r"cargo:rerun-if-env-changed=LEAPSDK_LIB_PATH"); + println!(r"cargo::rerun-if-env-changed=LEAPSDK_LIB_PATH"); let leapsdk_path = env::var("LEAPSDK_LIB_PATH").unwrap_or_else(|_| DEFAULT_LEAPSDK_LIB_PATH.to_string()); @@ -16,14 +20,14 @@ fn main() { let leapsdk_path = PathBuf::from(leapsdk_path); if !leapsdk_path.is_dir() { - println!("cargo:warning=Could not find LeapSDK at the location {}. Install it from https://developer.leapmotion.com/tracking-software-download or set its location with the environment variable LEAPSDK_LIB_PATH.", leapsdk_path.display()); + println!("cargo::warning=Could not find LeapSDK at the location {}. Install it from https://developer.leapmotion.com/tracking-software-download or set its location with the environment variable LEAPSDK_LIB_PATH.", leapsdk_path.display()); } else { let path_str = leapsdk_path .to_str() .unwrap_or_else(|| panic!("{} is not a valid path.", leapsdk_path.display())); // Link to LeapC.lib - println!(r"cargo:rustc-link-search={}", path_str); - println!(r"cargo:rustc-link-lib=LeapC"); + println!(r"cargo::rustc-link-search={}", path_str); + println!(r"cargo::rustc-link-lib=LeapC"); } }