Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

ci: build with latest ida-sdk#14

Merged
0xeb merged 1 commit intoallthingsida:mainallthingsida/qscripts:mainfrom
Ylarod:mainYlarod/qscripts:mainCopy head branch name to clipboard
Nov 10, 2025
Merged

ci: build with latest ida-sdk#14
0xeb merged 1 commit intoallthingsida:mainallthingsida/qscripts:mainfrom
Ylarod:mainYlarod/qscripts:mainCopy head branch name to clipboard

Conversation

@Ylarod
Copy link
Contributor

@Ylarod Ylarod commented Sep 29, 2025

No description provided.

@sudhackar
Copy link
Contributor

sudhackar commented Oct 19, 2025

Has this been tested to work? Sorry, just saw https://github.com/Ylarod/qscripts/actions/runs/18088827909/job/51464644178

I think idacpp was added recently

#!/usr/bin/env bash
set -euxo pipefail

# ==================================================================
# Local build script for IDA plugin (qscripts.so)
# Compatible with Linux (Ubuntu, Debian, Arch, etc.)
# ==================================================================

# Environment variables
WORKDIR="$(pwd)"
idasdk_DIR="${WORKDIR}/ida-sdk/src"
export IDASDK="${WORKDIR}/ida-sdk/src"
BUILD_DIR="${WORKDIR}/build"
OUTPUT_DIR="${WORKDIR}/output"
PLUGIN_NAME="qscripts"

# ==================================================================
# Preparation: Clone Hex-Rays SDK, CMake helpers, idax and idacpp
# ==================================================================

echo "[INFO] Preparing IDA SDK and helpers..."
# mkdir -p "${idasdk_DIR}" "${OUTPUT_DIR}"

if [ ! -d "${WORKDIR}/ida-sdk/.git" ]; then
    git clone --depth 1 https://github.com/HexRaysSA/ida-sdk ida-sdk
fi

if [ ! -d "${idasdk_DIR}/ida-cmake/.git" ]; then
    git clone --depth 1 https://github.com/allthingsida/ida-cmake "${idasdk_DIR}/ida-cmake"
fi

if [ ! -d "${idasdk_DIR}/include/idax/.git" ]; then
    mkdir -p "${idasdk_DIR}/include"
    git clone --depth 1 https://github.com/allthingsida/idax "${idasdk_DIR}/include/idax"
fi

if [ ! -d "${idasdk_DIR}/include/idacpp/.git" ]; then
    mkdir -p "${idasdk_DIR}/include"
    git clone --depth 1 https://github.com/allthingsida/idacpp "${idasdk_DIR}/include/idacpp"
fi

# ==================================================================
# Configure build with CMake
# ==================================================================

echo "[INFO] Configuring project with CMake..."
cmake -S . -B "${BUILD_DIR}" -DCMAKE_BUILD_TYPE=Release

# ==================================================================
# Build plugin
# ==================================================================

echo "[INFO] Building plugin..."
cmake --build "${BUILD_DIR}" -- -j"$(nproc)"

# ==================================================================
# Copy output to artifact directory
# ==================================================================

PLUGIN_PATH="${idasdk_DIR}/bin/plugins/${PLUGIN_NAME}.so"

if [ -f "${PLUGIN_PATH}" ]; then
    mkdir -p "${OUTPUT_DIR}"
    cp "${PLUGIN_PATH}" "${OUTPUT_DIR}/${PLUGIN_NAME}-linux.so"
    echo "[SUCCESS] Plugin built successfully: ${OUTPUT_DIR}/${PLUGIN_NAME}-linux.so"
else
    echo "[ERROR] Could not find built plugin. Check build logs." >&2
    exit 1
fi

@0xeb
Copy link
Member

0xeb commented Nov 10, 2025

thank you @Ylarod .

@0xeb 0xeb merged commit a54285a into allthingsida:main Nov 10, 2025
@sudhackar
Copy link
Contributor

https://github.com/allthingsida/qscripts/actions/runs/19249397673/job/55030929254 failed because you need to consider the points I mentioned earlier. I can raise another PR

@sudhackar sudhackar mentioned this pull request Nov 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.