mirror of
https://github.com/got-feedBack/feedBack-desktop.git
synced 2026-08-11 03:09:56 +00:00
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
69 lines
3.4 KiB
Markdown
69 lines
3.4 KiB
Markdown
# Windows Build Requirements
|
|
|
|
This document describes the dependencies and setup required to build Slopsmith Desktop on Windows.
|
|
|
|
## Required Software
|
|
|
|
### Visual Studio Build Tools 2022
|
|
- **Version**: 17.14 or later
|
|
- **Purpose**: Compile native C++ audio engine and Node.js native addons
|
|
- **Install**: `winget install Microsoft.VisualStudio.2022.BuildTools --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"`
|
|
- **Required Components**: Desktop development with C++ workload
|
|
|
|
### CMake
|
|
- **Version**: 3.22 or later
|
|
- **Purpose**: Build system for native audio engine
|
|
- **Install**: `winget install Kitware.CMake`
|
|
- **Note**: Add to PATH: `C:\Program Files\CMake\bin`
|
|
|
|
### Git (for plugin cloning)
|
|
- **Purpose**: `clone_slopsmith` in `scripts/build-common.sh` clones the Slopsmith repo and every plugin via plain `git clone`. Git for Windows ships with Git Bash, which is required anyway to run the build scripts.
|
|
- **Install**: `winget install Git.Git` (you almost certainly already have this).
|
|
- **Optional (private plugins only)**: If any clones target private repos you have access to, configure git credentials (e.g. `git config --global credential.helper manager` plus a one-time push/clone to cache a PAT). The build does NOT use the GitHub CLI.
|
|
|
|
### Chocolatey (optional)
|
|
- **Purpose**: Package manager for cmake and ffmpeg (can also be downloaded directly)
|
|
- **Install**: See https://chocolatey.org/install
|
|
|
|
## Windows-Specific Build Notes
|
|
|
|
### Python Embeddable Distribution
|
|
The Windows build uses Python's embeddable distribution, which has a special configuration:
|
|
|
|
1. **`.pth` file isolation**: The Python embeddable distribution uses a `python312._pth` file that enables "isolated mode". In this mode, the `PYTHONPATH` environment variable is **completely ignored**.
|
|
|
|
2. **Solution**: Slopsmith paths must be added directly to the `._pth` file. This is handled automatically by `scripts/build-windows.sh`, but if you need to add custom paths:
|
|
```
|
|
# In python312._pth (relative to resources/python):
|
|
../slopsmith
|
|
../slopsmith/lib
|
|
```
|
|
|
|
### Git authentication for private plugins
|
|
If your build pulls private plugin repos (e.g. `got-feedback/feedback-plugin-cf`), make sure git can authenticate non-interactively before running the build — Git Credential Manager + a PAT or SSH key both work. The build uses `git clone --depth 1` for every plugin and does NOT call the GitHub CLI.
|
|
|
|
## Quick Start
|
|
|
|
```bash
|
|
# Install dependencies (Git for Windows brings Git Bash which the scripts run under)
|
|
winget install Microsoft.VisualStudio.2022.BuildTools Kitware.CMake Git.Git
|
|
|
|
# Add CMake to PATH (if not automatic)
|
|
export PATH="$PATH:/c/Program Files/CMake/bin"
|
|
|
|
# Run the build
|
|
bash scripts/build-windows.sh
|
|
```
|
|
|
|
## Common Issues
|
|
|
|
### "CMake is not installed"
|
|
- Install via winget: `winget install Kitware.CMake`
|
|
- Or add existing installation to PATH: `export PATH="$PATH:/c/Program Files/CMake/bin"`
|
|
|
|
### "Repository not found" during plugin cloning
|
|
- Configure git itself for authentication (the build uses plain `git clone`, not the GitHub CLI):
|
|
- Git Credential Manager + a Personal Access Token: `git config --global credential.helper manager`
|
|
- Or an SSH key registered on your account
|
|
- Verify you can manually `git clone` the failing plugin URL from Git Bash before retrying the build
|
|
- Confirm the plugin repository exists on GitHub and your account has access to any private repos referenced in `scripts/build-common.sh`'s clone list |