Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
3.4 KiB
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_slopsmithinscripts/build-common.shclones the Slopsmith repo and every plugin via plaingit 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 managerplus 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:
-
.pthfile isolation: The Python embeddable distribution uses apython312._pthfile that enables "isolated mode". In this mode, thePYTHONPATHenvironment variable is completely ignored. -
Solution: Slopsmith paths must be added directly to the
._pthfile. This is handled automatically byscripts/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
# 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
- Git Credential Manager + a Personal Access Token:
- Verify you can manually
git clonethe 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