101 lines
2.9 KiB
Batchfile
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
|