#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" cd "$SCRIPT_DIR" TMPDIR="$(mktemp -d)" cleanup() { rm -rf "$TMPDIR"; } trap cleanup EXIT if command -v gcc >/dev/null 2>&1; then gcc -O3 -fPIC -shared "$SCRIPT_DIR/core/c_seam.c" -o "$SCRIPT_DIR/core/libseam_opt.so" -lm 2>/dev/null || true elif command -v clang >/dev/null 2>&1; then clang -O3 -fPIC -shared "$SCRIPT_DIR/core/c_seam.c" -o "$SCRIPT_DIR/core/libseam_opt.so" -lm 2>/dev/null || true fi mapfile -t FILES < <(git ls-files -co --exclude-standard \ | grep -v -xE '(\.gitignore|build\.sh)' \ | while read -r f; do [ -e "$f" ] && echo "$f"; done) tar -cf - "${FILES[@]}" | tar -xf - -C "$TMPDIR" if [ -f "$SCRIPT_DIR/core/libseam_opt.so" ]; then cp "$SCRIPT_DIR/core/libseam_opt.so" "$TMPDIR/core/libseam_opt.so" fi if [ -d wheels ]; then mkdir -p "$TMPDIR/wheels" cp -r wheels/* "$TMPDIR/wheels/" 2>/dev/null || true fi BLENDER="${BLENDER:-/home/nicolas/Applications/blender-5.1.0-linux-x64/blender}" if [ ! -x "$BLENDER" ]; then BLENDER="$(command -v blender)" fi cd "$TMPDIR" "$BLENDER" \ --command extension build --split-platforms \ --output-filepath "$SCRIPT_DIR/release/NodeSlicer_0.0.1.zip" cd "$SCRIPT_DIR"