Skip to content

ReaScript binding and REAPER backend for the Dear ImGui toolkit.

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING
Notifications You must be signed in to change notification settings

cfillion/reaimgui

Repository files navigation

ReaImGui: ReaScript binding for Dear ImGui

Build status

This REAPER extension is distributed via ReaPack through the default ReaTeam Extensions repository.

https://forum.cockos.com/showthread.php?t=250419

Build from source

Prerequisites

Software requirements:

  • Meson (1.1 or newer)
  • C++20 compiler* (C++17 is supported for Linux and macOS builds)
  • PHP (optional, for preprocessing of gfx2imgui.lua)

(* The C++ compiler must be ABI-compatible with MSVC on Windows)

Library requirements:

By default these will be picked up from the system or downloaded if missing.

Additional system dependencies on Linux:

Compile and install

Fetch the repository including submodules:

$ git clone --recursive --shallow-submodules https://github.com/cfillion/reaimgui.git

Build ReaImGui using Meson:

$ meson setup build
$ cd build
$ ninja

The change the installation directory to a portable install:

$ meson configure -Dresource_path=~/path/to/your/portable/install/

Downgrade to C++17 if compiling on macOS with Xcode older than 14:

$ meson configure -Dcpp_std=c++17

Run the test suite using:

$ meson test

Install ReaImGui into your REAPER resource path using:

$ meson install --tags runtime

Cross-compilation

Linux

QEMU is used to run compiled binaries for binding generation and tests.

meson setup build/i686    --cross-file cross/i686-linux-gnu.ini
meson setup build/armv7l  --cross-file cross/arm-linux-gnueabihf.ini
meson setup build/aarch64 --cross-file cross/aarch64-linux-gnu.ini

macOS

macOS 10.14 (or older) and Xcode 9 are required for producing 32-bit builds. Xcode 12 is required to compile for ARM64.

export MACOSX_DEPLOYMENT_TARGET=10.9
meson setup build/i386 --cross-file cross/i386-darwin.ini

export MACOSX_DEPLOYMENT_TARGET=11.0
meson setup build/arm64 --cross-file cross/arm64-darwin.ini