diff --git a/crates/bds-core/build.rs b/crates/bds-core/build.rs index 3a8149e..4f9a7ec 100644 --- a/crates/bds-core/build.rs +++ b/crates/bds-core/build.rs @@ -1,3 +1,6 @@ fn main() { println!("cargo:rerun-if-changed=migrations"); + if std::env::var("CARGO_CFG_TARGET_OS").as_deref() == Ok("macos") { + println!("cargo:rustc-link-lib=framework=CoreML"); + } } diff --git a/crates/bds-ui/tests/packaging_assets.rs b/crates/bds-ui/tests/packaging_assets.rs index 764d56b..2947336 100644 --- a/crates/bds-ui/tests/packaging_assets.rs +++ b/crates/bds-ui/tests/packaging_assets.rs @@ -71,6 +71,8 @@ fn desktop_packages_have_native_icons_and_cargo_commands() { assert!(core_manifest.contains("crate-type = [\"dylib\"]")); assert!(core_manifest.contains("[target.'cfg(target_os = \"windows\")'.dependencies]")); assert!(core_manifest.contains("libwebp-sys = { workspace = true, features = [\"sse41\"] }")); + let core_build = fs::read_to_string(Path::new(CRATE_DIR).join("../bds-core/build.rs")).unwrap(); + assert!(core_build.contains("cargo:rustc-link-lib=framework=CoreML")); let server_manifest = fs::read_to_string(Path::new(CRATE_DIR).join("../bds-server/Cargo.toml")).unwrap(); assert!(server_manifest.contains("crate-type = [\"dylib\"]"));