Claude Code Plugins

Community-maintained marketplace

Feedback

build-cmake

@iPlug2/iPlug2
2.2k
17

Build an iPlug2 plugin project using CMake with Ninja, Xcode, or Visual Studio generators

Install Skill

Shared

Installs to .agents/skills, used by Codex, Amp, Warp, Cursor, OpenCode, and more.

CodexAmp
Warp
CursorOpenCode
Cline
Gemini CLI
GitHub Copilot
Personal

Available across projects.

$npx skills-installer add @iPlug2/iPlug2/build-cmake --client shared
Project

Writes to .agents/skills.

$npx skills-installer add @iPlug2/iPlug2/build-cmake -p --client shared
Note: Review the skill instructions before using it.

SKILL.md

name build-cmake
description Build an iPlug2 plugin project using CMake with Ninja, Xcode, or Visual Studio generators

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 -G Ninja macOS, Windows Fast, recommended
Xcode -G Xcode macOS, iOS, visionOS Multi-config, good for debugging
Visual Studio -G "Visual Studio 17 2022" -A x64 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 -app
VST2 -vst2
VST3 -vst3
CLAP -clap
AAX -aax
AUv2 -au

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/:

  • [PluginName].app - Standalone
  • [PluginName].vst3/ - VST3
  • [PluginName].clap/ - CLAP
  • [PluginName].component/ - AUv2
  • [PluginName].aaxplugin/ - AAX

Workflow

  1. Ask for build preferences:

    • Generator (Ninja/Xcode/VS)
    • Configuration (Debug/Release)
    • Specific target or all
    • IGraphics backend if relevant
  2. Configure if needed (only once per build directory)

  3. Build the requested target(s)

  4. Report output location from build/out/

Tips

  • Ninja is fastest for iterative development
  • Xcode generator required for Swift examples (IPlugSwiftUI, IPlugCocoaUI)
  • Use --target to build specific formats and avoid SDK-related failures
  • Check Documentation/cmake.md for full reference