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