Claude-skill-registry build-cmake
Build an iPlug2 plugin project using CMake with Ninja, Xcode, or Visual Studio generators
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/build-cmake" ~/.claude/skills/majiayu000-claude-skill-registry-build-cmake && rm -rf "$T"
manifest:
skills/data/build-cmake/SKILL.mdsource content
Build iPlug2 Plugin with CMake
Use this skill when the user wants to build their plugin project using CMake.
Prerequisites
- CMake 3.14+
- Ninja (recommended) or Xcode/Visual Studio
- Plugin SDKs downloaded (VST3, CLAP, etc.) via
/setup-deps
Quick Start
cd [ProjectFolder] mkdir -p build && cd build cmake -G Ninja -DCMAKE_BUILD_TYPE=Release .. cmake --build .
Generators
| Generator | Command | Platform | Notes |
|---|---|---|---|
| Ninja | | macOS, Windows | Fast, recommended |
| Xcode | | macOS, iOS, visionOS | Multi-config, good for debugging |
| Visual Studio | | Windows | Multi-config |
Build Commands
Configure (choose one):
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release .. # Ninja cmake -G Xcode .. # Xcode cmake -G "Visual Studio 17 2022" -A x64 .. # VS 2022
Build all targets:
cmake --build . --config Release
Build specific target:
cmake --build . --config Release --target [PluginName]-vst3
Target Suffixes
| Format | Target Suffix |
|---|---|
| Standalone App | |
| VST2 | |
| VST3 | |
| CLAP | |
| AAX | |
| AUv2 | |
Common Options
# Debug build -DCMAKE_BUILD_TYPE=Debug # Release build -DCMAKE_BUILD_TYPE=Release # Universal binaries (macOS) -DIPLUG2_UNIVERSAL=ON # IGraphics backend -DIGRAPHICS_BACKEND=SKIA -DIGRAPHICS_RENDERER=METAL # Debug host for plugins -DIPLUG2_DEBUG_HOST="/Applications/REAPER.app"
Platform-Specific
iOS Device:
cmake -G Xcode -DCMAKE_SYSTEM_NAME=iOS -DIPLUG2_IOS_PLATFORM=OS ..
iOS Simulator:
cmake -G Xcode -DCMAKE_SYSTEM_NAME=iOS -DIPLUG2_IOS_PLATFORM=SIMULATOR ..
visionOS:
cmake -G Xcode -DCMAKE_SYSTEM_NAME=iOS -DIPLUG2_IOS_PLATFORM=VISIONOS ..
Web (Emscripten):
emcmake cmake -G Ninja -DCMAKE_BUILD_TYPE=Release .. cmake --build . --target [PluginName]-wam
Build Output
Output goes to
build/out/:
- Standalone[PluginName].app
- VST3[PluginName].vst3/
- CLAP[PluginName].clap/
- AUv2[PluginName].component/
- AAX[PluginName].aaxplugin/
Workflow
-
Ask for build preferences:
- Generator (Ninja/Xcode/VS)
- Configuration (Debug/Release)
- Specific target or all
- IGraphics backend if relevant
-
Configure if needed (only once per build directory)
-
Build the requested target(s)
-
Report output location from
build/out/
Tips
- Ninja is fastest for iterative development
- Xcode generator required for Swift examples (IPlugSwiftUI, IPlugCocoaUI)
- Use
to build specific formats and avoid SDK-related failures--target - Check Documentation/cmake.md for full reference