Files

45 lines
1.2 KiB
Bash
Raw Permalink Normal View History

2026-07-06 20:19:38 -05:00
#!/usr/bin/env bash
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)"
DEST_DIR="${ROOT_DIR}/Overlord-Client/third_party/nvcodec"
DEST_HEADER="${DEST_DIR}/nvEncodeAPI.h"
REPO_URL="${NV_CODEC_HEADERS_REPO:-https://github.com/FFmpeg/nv-codec-headers.git}"
REF="${NV_CODEC_HEADERS_REF:-master}"
FORCE="${FORCE_NV_CODEC_HEADERS:-0}"
if [[ "${1:-}" == "--force" ]]; then
FORCE=1
fi
if [[ -s "${DEST_HEADER}" && "${FORCE}" != "1" ]]; then
echo "nvEncodeAPI.h already exists: ${DEST_HEADER}"
echo "Use --force or FORCE_NV_CODEC_HEADERS=1 to refresh it."
exit 0
fi
command -v git >/dev/null 2>&1 || {
echo "git is required to vendor nv-codec-headers" >&2
exit 1
}
TMP_DIR="${DEST_DIR}/.nv-codec-headers.tmp"
rm -rf "${TMP_DIR}"
mkdir -p "${DEST_DIR}"
echo "Cloning ${REPO_URL} (${REF})..."
git clone --depth 1 --branch "${REF}" "${REPO_URL}" "${TMP_DIR}"
SRC_HEADER="${TMP_DIR}/include/ffnvcodec/nvEncodeAPI.h"
if [[ ! -s "${SRC_HEADER}" ]]; then
echo "Expected header not found: ${SRC_HEADER}" >&2
rm -rf "${TMP_DIR}"
exit 1
fi
cp "${SRC_HEADER}" "${DEST_HEADER}"
rm -rf "${TMP_DIR}"
echo "Vendored ${DEST_HEADER}"