name: build description: Build an iPlug2 plugin project for different formats and platforms (macOS, iOS, Windows)
Build iPlug2 Plugin (iPlug2OOS)
Use this skill when the user wants to build their plugin project.
Workflow
Identify the project:
- If not specified, look for
.xcworkspacefiles in the repo root (excluding TemplateProject) - Ask user to choose if multiple projects exist
- If not specified, look for
Build using the appropriate method below
macOS Build (xcodebuild)
xcodebuild -workspace [Project]/[Project].xcworkspace -scheme "[SCHEME]" -configuration [CONFIG] build 2>&1 | tee build.log
Schemes: macOS-APP, macOS-AU, macOS-VST2, macOS-VST3, macOS-CLAP, macOS-AAX, macOS-AUv3
Configurations: Debug, Release, Tracer
Build Locations
- APP:
~/Applications/[PluginName].app - VST3:
~/Library/Audio/Plug-Ins/VST3/ - AU:
~/Library/Audio/Plug-Ins/Components/ - CLAP:
~/Library/Audio/Plug-Ins/CLAP/
Open in Xcode (recommended for debugging)
open [Project]/[Project].xcworkspace
iOS Build
xcodebuild -workspace [Project]/[Project].xcworkspace -scheme "iOS-APP with AUv3" -configuration Debug -destination 'platform=iOS Simulator,name=iPhone 16 Pro' build
For running in Simulator, use the run-ios-simulator skill.
Windows Build
Open the .sln file in Visual Studio:
[Project]/[Project].sln
Build from IDE or command line:
msbuild [Project]/[Project].sln /p:Configuration=Release /p:Platform=x64
Tips
- Build one scheme at a time; building all may fail if SDKs are missing
- Check
build.logfor issues - If Skia backend is configured, run
iPlug2/Dependencies/download-prebuilt-libs.sh macfirst - AUv3 requires code signing; use
macOS-AU(AUv2) for simpler local testing - Use
xcodebuild -workspace [Project]/[Project].xcworkspace -listto see all available schemes
Example
# Build standalone app (Debug)
xcodebuild -workspace MySynth/MySynth.xcworkspace -scheme "macOS-APP" -configuration Debug build
# Open the built app
open ~/Applications/MySynth.app
# Build AU plugin (Release)
xcodebuild -workspace MySynth/MySynth.xcworkspace -scheme "macOS-AU" -configuration Release build