Files
overlord/scripts/vendor-nvcodec-headers.bat
T

51 lines
1.4 KiB
Batchfile
Raw Normal View History

2026-07-06 20:19:38 -05:00
@echo off
setlocal
set "SCRIPT_DIR=%~dp0"
for %%I in ("%SCRIPT_DIR%..") do set "ROOT_DIR=%%~fI"
set "DEST_DIR=%ROOT_DIR%\Overlord-Client\third_party\nvcodec"
set "DEST_HEADER=%DEST_DIR%\nvEncodeAPI.h"
if "%NV_CODEC_HEADERS_REPO%"=="" set "NV_CODEC_HEADERS_REPO=https://github.com/FFmpeg/nv-codec-headers.git"
if "%NV_CODEC_HEADERS_REF%"=="" set "NV_CODEC_HEADERS_REF=master"
set "FORCE=%FORCE_NV_CODEC_HEADERS%"
if /I "%~1"=="--force" set "FORCE=1"
if exist "%DEST_HEADER%" if not "%FORCE%"=="1" (
echo nvEncodeAPI.h already exists: "%DEST_HEADER%"
echo Use --force or set FORCE_NV_CODEC_HEADERS=1 to refresh it.
exit /b 0
)
where git >nul 2>&1
if errorlevel 1 (
echo git is required to vendor nv-codec-headers
exit /b 1
)
set "TMP_DIR=%DEST_DIR%\.nv-codec-headers.tmp"
if exist "%TMP_DIR%" rd /s /q "%TMP_DIR%"
if not exist "%DEST_DIR%" mkdir "%DEST_DIR%"
echo Cloning %NV_CODEC_HEADERS_REPO% (%NV_CODEC_HEADERS_REF%)...
git clone --depth 1 --branch "%NV_CODEC_HEADERS_REF%" "%NV_CODEC_HEADERS_REPO%" "%TMP_DIR%"
if errorlevel 1 goto :err
set "SRC_HEADER=%TMP_DIR%\include\ffnvcodec\nvEncodeAPI.h"
if not exist "%SRC_HEADER%" (
echo Expected header not found: "%SRC_HEADER%"
goto :err
)
copy /y "%SRC_HEADER%" "%DEST_HEADER%" >nul
if errorlevel 1 goto :err
rd /s /q "%TMP_DIR%"
echo Vendored "%DEST_HEADER%"
exit /b 0
:err
if exist "%TMP_DIR%" rd /s /q "%TMP_DIR%"
echo Failed to vendor nv-codec-headers
exit /b 1