2026-09-19 22:40:48 +02:00
|
|
|
# Building and testing
|
2026-06-16 16:30:07 +02:00
|
|
|
|
2026-09-21 00:11:01 +02:00
|
|
|
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.
|
2026-09-19 22:40:48 +02:00
|
|
|
|
|
|
|
|
From the repository root:
|
|
|
|
|
|
2026-09-21 00:11:01 +02:00
|
|
|
```powershell
|
|
|
|
|
./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
|
2026-09-15 17:54:16 +02:00
|
|
|
```
|
|
|
|
|
|
2026-09-21 00:11:01 +02:00
|
|
|
`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`.
|
2026-09-15 17:54:16 +02:00
|
|
|
|
2026-09-21 00:11:01 +02:00
|
|
|
Run the server and CLI locally with:
|
2026-06-18 17:36:47 +02:00
|
|
|
|
|
|
|
|
```powershell
|
2026-09-21 00:11:01 +02:00
|
|
|
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
|
2026-06-18 17:36:47 +02:00
|
|
|
```
|
|
|
|
|
|
2026-09-21 00:11:01 +02:00
|
|
|
Build the Windows client with `clients/windows/VoiceCat.slnx` and publish it with
|
|
|
|
|
`clients/windows/publish-client.ps1`.
|
2026-06-18 17:36:47 +02:00
|
|
|
|
2026-09-21 00:11:01 +02:00
|
|
|
On macOS, stage the native libraries and build the Apple clients with:
|
2026-09-19 15:43:37 +02:00
|
|
|
|
|
|
|
|
```bash
|
2026-09-21 00:11:01 +02:00
|
|
|
./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
|
2026-09-19 15:43:37 +02:00
|
|
|
```
|
|
|
|
|
|
2026-09-21 00:11:01 +02:00
|
|
|
See `clients/apple/README.md` and `docs/ios-deploy.md` for signing and device workflows.
|
2026-06-19 02:19:38 +02:00
|
|
|
|
2026-09-21 00:11:01 +02:00
|
|
|
Publish self-contained server binaries with `scripts/publish-server.ps1`. Generated native,
|
|
|
|
|
client, and server artifacts live under `artifacts/`.
|