# Build

> Build an iPlug2 plugin project for different formats and platforms (macOS, iOS, Windows)

- Skill: `majiayu000/build-2` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/build-2`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/build-2/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/build-2

---


# Build iPlug2 Plugin (iPlug2OOS)

Use this skill when the user wants to build their plugin project.

## Workflow

1. **Identify the project:**
   - If not specified, look for `.xcworkspace` files in the repo root (excluding TemplateProject)
   - Ask user to choose if multiple projects exist

2. **Build using the appropriate method below**

## macOS Build (xcodebuild)

```bash
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)
```bash
open [Project]/[Project].xcworkspace
```

## iOS Build

```bash
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:
```cmd
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.log` for issues
- If Skia backend is configured, run `iPlug2/Dependencies/download-prebuilt-libs.sh mac` first
- AUv3 requires code signing; use `macOS-AU` (AUv2) for simpler local testing
- Use `xcodebuild -workspace [Project]/[Project].xcworkspace -list` to see all available schemes

## Example

```bash
# 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
```

