Files
2026-07-10 15:02:09 +01:00

28 lines
1.5 KiB
TOML

# Workspace-wide macOS deployment target — pinned to 10.15.
#
# Why 10.15: the default `whisper-local` feature compiles whisper.cpp (C++),
# whose ggml-backend-reg.cpp uses `std::filesystem::path`, introduced in macOS
# 10.15. `cargo tauri build` injects MACOSX_DEPLOYMENT_TARGET=10.13 (Tauri's
# default, from bundle.macOS.minimumSystemVersion), on which that symbol is
# marked *unavailable* → the ggml build fails with ~20 "'path' is unavailable"
# errors.
#
# Two variables are needed because the C++ compile ends up with TWO
# `-mmacosx-version-min` flags and clang lets the LAST one win:
#
# * MACOSX_DEPLOYMENT_TARGET → the `cc` crate turns this into the CFLAGS'
# `-mmacosx-version-min`.
# * CMAKE_OSX_DEPLOYMENT_TARGET → whisper-rs-sys's build.rs forwards any
# `CMAKE_*` env var to cmake as `-DCMAKE_OSX_DEPLOYMENT_TARGET=…`, which
# sets CMake's OWN `-mmacosx-version-min` and overrides any value cached in
# a stale CMakeCache.txt. Without this, CMake's cached 10.13 wins and the
# CFLAGS' 10.15 is ignored.
#
# `force = true` makes cargo override whatever the Tauri CLI (or the ambient
# environment) sets, so both are deterministically 10.15 regardless of Tauri.
# Keep in sync with tauri.conf.json > bundle > macOS > minimumSystemVersion.
# Both variables are macOS-only; ignored on Linux/Windows builds.
[env]
MACOSX_DEPLOYMENT_TARGET = { value = "10.15", force = true }
CMAKE_OSX_DEPLOYMENT_TARGET = { value = "10.15", force = true }