con un clic
build-cmake
// Build an iPlug2 plugin project using CMake (Ninja or Xcode generator)
// Build an iPlug2 plugin project using CMake (Ninja or Xcode generator)
Build an iPlug2 plugin project for different formats and platforms (macOS, iOS, Windows)
Create a new iPlug2 plugin project by duplicating TemplateProject in the iPlug2OOS repository
Build and run an iPlug2 iOS app in the iOS Simulator
| name | build-cmake |
| description | Build an iPlug2 plugin project using CMake (Ninja or Xcode generator) |
Use this skill when the user wants to build their plugin project using CMake.
Identify the project:
CMakeLists.txt in project directoriesChoose a preset based on platform and build requirements
The project uses CMake presets for standardized builds. Prefer --preset instead of manual -G flags.
cmake --list-presets
# Configure with Ninja (fast builds)
cmake --preset macos-ninja -S [ProjectName]
# Build
cmake --build build/macos-ninja --target [ProjectName]-app
# Or with Xcode (for debugging)
cmake --preset macos-xcode -S [ProjectName]
cmake --build build/macos-xcode --config Release --target [ProjectName]-app
# Universal binary (arm64 + x86_64)
cmake --preset macos-xcode-universal -S [ProjectName]
cmake --build build/macos-xcode-universal --config Release
# iOS Device
cmake --preset ios-xcode -S [ProjectName]
cmake --build build/ios-xcode --config Release
# iOS Simulator
cmake --preset ios-sim-xcode -S [ProjectName]
cmake --build build/ios-sim-xcode --config Release
For running in Simulator, use the run-ios-simulator skill.
# visionOS Device
cmake --preset visionos-xcode -S [ProjectName]
cmake --build build/visionos-xcode --config Release
# visionOS Simulator
cmake --preset visionos-sim-xcode -S [ProjectName]
cmake --build build/visionos-sim-xcode --config Release
# Visual Studio 2022 (x64)
cmake --preset windows-vs2022 -S [ProjectName]
cmake --build build/windows-vs2022 --config Release
# ARM64EC
cmake --preset windows-vs2022-arm64ec -S [ProjectName]
cmake --build build/windows-vs2022-arm64ec --config Release
# Configure (requires EMSDK environment)
cmake --preset wam -S [ProjectName]
# Build
cmake --build build/wam --target [ProjectName]-wam
# Create distribution
cmake --build build/wam --target [ProjectName]-wam-dist
Output in build/wam/out/[ProjectName]-wam/
| Preset | Platform | Generator | Description |
|---|---|---|---|
macos-ninja | macOS | Ninja | Fast command-line builds (NanoVG/Metal) |
macos-make | macOS | Make | Unix Makefiles (NanoVG/Metal) |
macos-xcode | macOS | Xcode | IDE builds with debugging |
macos-xcode-universal | macOS | Xcode | Universal binary (arm64+x86_64) |
ios-xcode | iOS | Xcode | iOS device builds |
ios-sim-xcode | iOS | Xcode | iOS Simulator builds |
visionos-xcode | visionOS | Xcode | visionOS device builds |
visionos-sim-xcode | visionOS | Xcode | visionOS Simulator builds |
windows-ninja | Windows | Ninja | Fast Windows command-line builds |
windows-vs2022 | Windows | VS2022 | Windows x64 builds |
windows-vs2022-arm64ec | Windows | VS2022 | Windows ARM64EC builds |
wam | Web | Ninja | Emscripten/WebAssembly builds |
[ProjectName]-app - Standalone application[ProjectName]-vst3 - VST3 plugin[ProjectName]-au - Audio Unit (AUv2)[ProjectName]-clap - CLAP plugin[ProjectName]AU-framework - AUv3 framework[ProjectName]AUv3-appex - AUv3 app extension[ProjectName]-ios-app - iOS standalone app[ProjectName]-wam - Web Audio ModuleDefault configuration uses NanoVG with Metal (macOS/iOS) or GL2 (Windows).
To use Skia backend, add cache variables:
cmake --preset macos-ninja -S [ProjectName] \
-DIGRAPHICS_BACKEND=SKIA \
-DIGRAPHICS_RENDERER=METAL
Valid combinations:
Note: Skia requires prebuilt libraries:
./iPlug2/Dependencies/download-prebuilt-libs.sh mac
~/Applications/[ProjectName].app~/Library/Audio/Plug-Ins/VST3/~/Library/Audio/Plug-Ins/Components/~/Library/Audio/Plug-Ins/CLAP/# Remove build directory and reconfigure
rm -rf build/macos-ninja
cmake --preset macos-ninja -S [ProjectName]
# Quick build of standalone app
cmake --preset macos-ninja -S MySynth
cmake --build build/macos-ninja --target MySynth-app
# Open the built app
open ~/Applications/MySynth.app
# Build for iOS Simulator
cmake --preset ios-sim-xcode -S MySynth
cmake --build build/ios-sim-xcode --config Release