Files
voice-cat/docs/building.md
Talon 08e6c5930a
Build and test / test (macos-latest) (push) Canceled after 0s
Build and test / test (ubuntu-24.04) (push) Canceled after 0s
Build and test / test (windows-latest) (push) Canceled after 0s
Build and test / apple-client (push) Canceled after 0s
Retire legacy implementations and flatten managed layout
2026-09-21 00:11:32 +02:00

1.5 KiB

Building and testing

VoiceCat requires the .NET SDK selected by global.json, PowerShell, CMake, and a C compiler. Apple clients additionally require macOS, Xcode, and the pinned .NET macOS/iOS workloads.

From the repository root:

./scripts/build-native.ps1
dotnet restore VoiceCat.slnx --locked-mode
dotnet build VoiceCat.slnx -c Release --no-restore
dotnet test VoiceCat.slnx -c Release --no-build
./scripts/check-licenses.ps1

build-native.ps1 builds the narrow Opus/RNNoise shim in native/media and stages it under artifacts/native. NuGet dependencies and lock files are committed; GPL/LGPL dependencies are forbidden and the approved license set is enforced by scripts/check-licenses.ps1.

Run the server and CLI locally with:

dotnet run --project src/VoiceCat.Server -- --data-dir ./voicecat-data
dotnet run --project src/VoiceCat.Cli -- --host 127.0.0.1 --nickname Local --trust-first

Build the Windows client with clients/windows/VoiceCat.slnx and publish it with clients/windows/publish-client.ps1.

On macOS, stage the native libraries and build the Apple clients with:

./scripts/build-native.ps1
./scripts/build-native-ios.sh
dotnet restore clients/apple/VoiceCat.Apple.slnx
dotnet build clients/apple/VoiceCat.Apple.slnx -c Debug --no-restore

See clients/apple/README.md and docs/ios-deploy.md for signing and device workflows.

Publish self-contained server binaries with scripts/publish-server.ps1. Generated native, client, and server artifacts live under artifacts/.