Building on Windows
Building on Windows
This document covers the Windows-specific build path. For macOS / Linux see Building.
Prerequisites
- Visual Studio 2022 with the “Desktop development with C++” workload (provides MSVC v143 + Windows SDK).
- CMake 3.22+ — install via the VS workload or from cmake.org.
- Git for cloning + submodules.
- PowerShell 5.1+ (ships with Windows 10 / 11).
rsvg-convertfor the app-icon pipeline. Install via Chocolatey (choco install rsvg-convert), scoop (scoop install librsvg), or WSLapt install librsvg2-bin. The build invokes it at configure time to rasterise the SVG icon source.
Build
git clone <repo-url> guitar-prometheuscd guitar-prometheus./scripts/build-release.ps1The script:
- Configures with
cmake -B build -S . -G "Visual Studio 17 2022" -A x64 -DCMAKE_BUILD_TYPE=Release. - Builds
GuitarPrometheusviacmake --build build --config Release. - Runs
cpack -G ZIPto produce a portable ZIP underbuild/.
Output layout (portable ZIP)
GuitarPrometheus-<version>-Windows/├── GuitarPrometheus.exe├── *.dll (JUCE / runtime support)├── profiles/ (VST profile presets)└── resources/ (schemas, bundled defaults)The executable is portable: it looks for profiles/ next to itself rather
than under %AppData%. Drop the extracted folder anywhere and run from
there.
Running tests
cmake --build build --target GuitarPrometheusTests --config Releasectest --test-dir build -C ReleaseDebug builds
cmake -B build-debug -S . -G "Visual Studio 17 2022" -A x64cmake --build build-debug --config DebugDebug builds skip CPack and run from the build directory directly. Use them for stepping through the parser / injector under MSVC’s debugger.
Known issues
- MSVC -W4 noise from JUCE: JUCE’s generated
juce_*modules emit warnings at/W4. The project compiles with/W3plus targeted-Werror=switch-enumon our own sources only; do not raise the global warning level without scoping JUCE out. - CPack signing:
cpack -G ZIPdoes not sign the executable. See Releases for the (deferred) Authenticode signing step.