SDK settings and precedence¶
Settings contain paths, never SDK source or signing credentials:
[sdks]
vst3 = "/SDKs/vst3"
audio_unit = "/SDKs/AudioUnitSDK"
aax = "/SDKs/AAX"
lv2 = "/SDKs/lv2"
webview2 = "/SDKs/Microsoft.Web.WebView2"
Use a project ravet-sdks.toml beside the product's Cargo.toml or in an ancestor
(the nearest file wins), or the per-user file:
| Platform | User settings |
|---|---|
| macOS | ~/Library/Application Support/ravet/ravet-sdks.toml |
| Linux | ~/.config/ravet/ravet-sdks.toml |
| Windows | %APPDATA%/ravet/ravet-sdks.toml |
$XDG_CONFIG_HOME/ravet/ravet-sdks.toml overrides the platform config location
when set. Project paths override user paths individually; omitted keys inherit.
Relative settings paths resolve against the file's directory; ~ expands to the
user's home. Explicit --settings replaces automatic project-file selection.
Unknown settings keys and malformed paths/commands reject.
For each SDK, precedence is explicit flag → environment variable → project
file → user file. Environment variables are RAVET_VST3_SDK,
RAVET_AUDIO_UNIT_SDK, RAVET_AAX_SDK, and RAVET_LV2_SDK. Prefer absolute
paths for flags and environment variables. No sibling checkout, package-manager
prefix or developer-specific path is guessed. Missing SDK errors name the key,
environment variable or missing file. Only selected formats need SDKs: AU and
AAX do not need VST3. LV2 accepts official include/lv2 or flat lv2 headers,
including COPYING. Format SDK licence notices are added to the bundles.
Foundry's saved SDK fields are passed as explicit flags, so they override the same shared discovery layers. Empty fields allow environment/project/user settings to supply a path. Keep machine-specific SDK settings out of public consumer source control when appropriate.