From d9f9d9d7c3e4f3a3e099bda61c558dae49fb1ad6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=88=9A=28noham=29=C2=B2?= <100566912+NohamR@users.noreply.github.com> Date: Wed, 19 Aug 2026 19:30:47 +0200 Subject: [PATCH] Add macOS support Adds macOS (x86_64/arm64) as a supported platform for the IDA Discord RPC plugin. Changes: - CMakeLists.txt: Output ida_discord_rpc.dylib on macOS (shared library suffix) - .github/workflows/build.yml: Added macos-latest build matrix entry; includes macOS binary in release zip - readme.md: Updated compatibility table, installation paths, and build instructions with IDASDK_ROOT guidance for macOS --- .github/workflows/build.yml | 4 ++++ .gitignore | 3 ++- CMakeLists.txt | 4 ++++ readme.md | 5 ++++- 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index df343a7..e6fb97a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -22,6 +22,9 @@ jobs: - os: windows-latest artifact: windows-x64 binary: build/ida_plugins/ida_discord_rpc.dll + - os: macos-latest + artifact: macos-x64 + binary: build/ida_plugins/ida_discord_rpc.dylib runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -68,6 +71,7 @@ jobs: cp assets/ida-discord.png pkg/assets/ cp dist/ida_discord_rpc-linux-x64/ida_discord_rpc.so pkg/ cp dist/ida_discord_rpc-windows-x64/ida_discord_rpc.dll pkg/ + cp dist/ida_discord_rpc-macos-x64/ida_discord_rpc.dylib pkg/ cd pkg && zip -r "../ida_discord_rpc-${GITHUB_REF_NAME}.zip" . && cd .. unzip -l ida_discord_rpc-*.zip diff --git a/.gitignore b/.gitignore index 26f9b60..e428e16 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,5 @@ compile_commands.json .claude scripts/ lib/ -idasdk.tar \ No newline at end of file +idasdk.tar +.DS_Store diff --git a/CMakeLists.txt b/CMakeLists.txt index 5c6f5b0..9dc1673 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -63,3 +63,7 @@ set_target_properties(ida_discord_rpc PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${IDA_PLUGIN_OUTPUT_DIR} OUTPUT_NAME "ida_discord_rpc" ) + +if(APPLE) + set_target_properties(ida_discord_rpc PROPERTIES SUFFIX ".dylib") +endif() diff --git a/readme.md b/readme.md index c809373..1d38e11 100644 --- a/readme.md +++ b/readme.md @@ -18,7 +18,7 @@ IDA Discord RPC is a plugin for IDA that displays your current activity as Disco ## Compatibility - IDA Pro / IDA Home 9.x -- Windows x86-64 (`.dll`) and Linux x86-64 (`.so`) +- Windows x86-64 (`.dll`), Linux x86-64 (`.so`), macOS x86-64/arm64 (`.dylib`) ## Installation @@ -28,6 +28,7 @@ Download the ZIP from the [latest release](https://github.com/reversedcodes/IDA- | --- | --- | | Windows | `%APPDATA%\Hex-Rays\IDA Pro\plugins` | | Linux | `~/.idapro/plugins` | +| macOS | `~/Library/Application Support/Hex-Rays/IDA Pro/plugins` | Restart IDA afterwards. Configure the plugin via the **Discord** menu in the menubar. @@ -41,6 +42,8 @@ cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release cmake --build build ``` +On macOS, set `IDASDK_ROOT` to your IDA installation (e.g., `/Applications/IDA Professional 9.3.app`) or pass `-DIdaSDK_LIBRARY=/path/to/libida.dylib`. + The plugin is written against the open-source [IDA SDK](https://github.com/HexRaysSA/ida-sdk); Discord integration uses [discord-rpc](https://github.com/discord/discord-rpc) (fetched automatically). ## License