GrabBag/GrabBagPrj/pkg_vrvirtualcamera.bat
2026-08-04 14:23:07 +08:00

101 lines
2.9 KiB
Batchfile

@echo off
setlocal
REM ============================================================
REM Virtual Camera Simulator - Run / Package script
REM ============================================================
REM Usage:
REM pkg_vrvirtualcamera.bat Run the virtual camera
REM pkg_vrvirtualcamera.bat pkg Build installer (needs QT_PATH / ISCC_PATH)
REM
REM Env vars:
REM QT_PATH=D:\Qt\5.15.2 (Qt for windeployqt)
REM ISCC_PATH=C:\Program Files\Inno Setup 7
REM ============================================================
set PRJ_PATH=%~dp0
set PRJ_PATH=%PRJ_PATH:~0,-1%
set APP_NAME=VrVirtualCamera
set EXE_NAME=%APP_NAME%.exe
REM ---- Locate the built exe: shared build dir first, local build dir fallback ----
set EXE_SOURCE=
if exist "%PRJ_PATH%\..\build\Tools\%APP_NAME%\release\%EXE_NAME%" (
set "EXE_SOURCE=%PRJ_PATH%\..\build\Tools\%APP_NAME%\release\%EXE_NAME%"
) else if exist "%PRJ_PATH%\..\Tools\%APP_NAME%\build\release\%EXE_NAME%" (
set "EXE_SOURCE=%PRJ_PATH%\..\Tools\%APP_NAME%\build\release\%EXE_NAME%"
) else if exist "%PRJ_PATH%\..\Tools\%APP_NAME%\release\%EXE_NAME%" (
set "EXE_SOURCE=%PRJ_PATH%\..\Tools\%APP_NAME%\release\%EXE_NAME%"
)
if not defined EXE_SOURCE (
echo [ERROR] %EXE_NAME% not found. Build it first:
echo cd %PRJ_PATH%\..\Tools\%APP_NAME%
echo qmake ^&^& nmake
exit /b 1
)
echo [INFO] Using: %EXE_SOURCE%
REM ---- No argument: run directly ----
if "%~1"=="" (
REM Make Qt runtime DLLs resolvable from the source build dir
if defined QT_PATH (
set "PATH=%QT_PATH%\msvc2019_64\bin;%PATH%"
)
start "" "%EXE_SOURCE%"
echo [INFO] Virtual camera launched
exit /b 0
)
REM ---- Argument "pkg": package installer ----
if /i "%~1"=="pkg" goto :pkg
echo [ERROR] Unknown argument: %~1
echo Usage: %~nx0 [pkg]
exit /b 1
:pkg
if not defined QT_PATH (
echo [ERROR] QT_PATH is not set, e.g. D:\Qt\5.15.2
exit /b 1
)
if not defined ISCC_PATH (
echo [ERROR] ISCC_PATH is not set, e.g. C:\Program Files\Inno Setup 7
exit /b 1
)
set PKG_DIR=%PRJ_PATH%\buildwin\%APP_NAME%
if not exist "%PKG_DIR%" mkdir "%PKG_DIR%"
cd /d "%PKG_DIR%"
powershell -Command "Remove-Item * -Recurse -Force"
copy /y "%EXE_SOURCE%" "%PKG_DIR%\%EXE_NAME%" >nul
REM Ship the icon alongside (used by installer/shortcuts)
if exist "%PRJ_PATH%\..\Tools\%APP_NAME%\VrVirtualCamera.ico" (
copy /y "%PRJ_PATH%\..\Tools\%APP_NAME%\VrVirtualCamera.ico" "%PKG_DIR%\" >nul
)
REM Deploy Qt runtime
echo [INFO] Running windeployqt ...
"%QT_PATH%\msvc2019_64\bin\windeployqt.exe" "%EXE_NAME%"
if errorlevel 1 (
echo [ERROR] windeployqt failed
exit /b 1
)
REM Build installer
cd /d "%PRJ_PATH%"
echo [INFO] Running ISCC ...
"%ISCC_PATH%\ISCC.exe" "VrVirtualCamera.iss"
if errorlevel 1 (
echo [ERROR] ISCC failed
exit /b 1
)
echo [INFO] Installer created: %PRJ_PATH%\..\Publish\VrVirtualCameraV1.0.0.exe
endlocal