@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