@echo off REM Meetily GPU-Accelerated Development Script for Windows REM Automatically detects and runs in development mode with optimal GPU features REM Based on build-gpu.bat but for development (debug build, tauri dev) REM Exit on error setlocal enabledelayedexpansion REM Check if help is requested if "%~1" == "help" ( call :_print_help exit /b 0 ) else if "%~1" == "--help" ( call :_print_help exit /b 0 ) else if "%~1" == "-h" ( call :_print_help exit /b 0 ) else if "%~1" == "/?" ( call :_print_help exit /b 0 ) echo. echo ======================================== echo Meetily GPU-Accelerated Development echo ======================================== echo. echo. REM Kill any existing processes on port 3118 echo ๐Ÿงน Checking for existing processes on port 3118... for /f "tokens=5" %%a in ('netstat -aon ^| findstr :3118 2^>nul') do ( echo Killing process %%a on port 3118 taskkill /PID %%a /F >nul 2>&1 ) REM Set libclang path for whisper-rs-sys set "LIBCLANG_PATH=C:\Program Files\LLVM\bin" REM Try to find and setup Visual Studio environment echo ๐Ÿ”ง Setting up Visual Studio environment... if exist "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat" ( echo Using Visual Studio 2022 Build Tools call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat" >nul 2>&1 REM Manually set up the environment set "LIB=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\lib\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\ucrt\x64" set "INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\include;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt" set "PATH=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64;C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64;%PATH%" ) else if exist "C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat" ( echo Using Visual Studio 2022 Build Tools call "C:\Program Files\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat" >nul 2>&1 ) else if exist "C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" ( echo Using Visual Studio 2022 Community call "C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat" >nul 2>&1 ) else if exist "C:\Program Files (x86)\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" ( echo Using Visual Studio 2022 Professional call "C:\Program Files (x86)\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat" >nul 2>&1 ) else if exist "C:\Program Files (x86)\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" ( echo Using Visual Studio 2022 Enterprise call "C:\Program Files (x86)\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat" >nul 2>&1 ) else if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat" ( echo Using Visual Studio 2019 Build Tools call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat" >nul 2>&1 ) else ( echo โš ๏ธ Visual Studio not found, using manual SDK setup set "WindowsSDKVersion=10.0.22621.0" set "WindowsSDKLibVersion=10.0.22621.0" set "WindowsSDKIncludeVersion=10.0.22621.0" set "LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.22621.0\ucrt\x64;%LIB%" set "INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\shared;C:\Program Files (x86)\Windows Kits\10\Include\10.0.22621.0\ucrt;%INCLUDE%" set "PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64;%PATH%" ) REM Export environment variables for the child process set "RUST_ENV_LIB=%LIB%" set "RUST_ENV_INCLUDE=%INCLUDE%" echo. echo ๐Ÿ“ฆ Starting Meetily in development mode... echo. REM Find package.json location if exist "package.json" ( echo Found package.json in current directory ) else if exist "frontend\package.json" ( echo Found package.json in frontend directory cd frontend ) else ( echo โŒ Error: Could not find package.json echo Make sure you're in the project root or frontend directory exit /b 1 ) REM Check if pnpm or npm is available where pnpm >nul 2>&1 if %errorlevel% equ 0 ( set "USE_PNPM=1" ) else ( set "USE_PNPM=0" ) where npm >nul 2>&1 if %errorlevel% equ 0 ( set "USE_NPM=1" ) else ( set "USE_NPM=0" ) if %USE_PNPM% equ 0 ( if %USE_NPM% equ 0 ( echo โŒ Error: Neither npm nor pnpm found exit /b 1 ) ) REM Detect GPU feature echo ๐Ÿ” Detecting GPU features... for /f "delims=" %%i in ('node scripts/auto-detect-gpu.js') do set TAURI_GPU_FEATURE=%%i if defined TAURI_GPU_FEATURE ( echo โœ… Detected GPU feature: !TAURI_GPU_FEATURE! ) else ( echo โš ๏ธ No specific GPU feature detected or forced ) REM Build llama-helper echo. echo ๐Ÿฆ™ Building llama-helper sidecar (debug)... set "HELPER_DIR=..\llama-helper" if not exist "%HELPER_DIR%" ( echo โŒ Could not find llama-helper directory at %HELPER_DIR% exit /b 1 ) set "HELPER_FEATURES=" if defined TAURI_GPU_FEATURE ( set "HELPER_FEATURES=--features !TAURI_GPU_FEATURE!" ) echo Building in %HELPER_DIR% with features: %HELPER_FEATURES% pushd "%HELPER_DIR%" call cargo build %HELPER_FEATURES% if errorlevel 1 ( echo โŒ Failed to build llama-helper popd exit /b 1 ) popd echo โœ… llama-helper built successfully REM Detect target triple echo. echo ๐ŸŽฏ Detecting target triple... for /f "tokens=2" %%i in ('rustc -vV ^| findstr "host:"') do set TARGET_TRIPLE=%%i echo Target: !TARGET_TRIPLE! REM Copy binary set "BINARIES_DIR=src-tauri\binaries" if not exist "%BINARIES_DIR%" mkdir "%BINARIES_DIR%" REM Clean old binaries del /q "%BINARIES_DIR%\llama-helper*" 2>nul set "BASE_BINARY=llama-helper.exe" set "SIDECAR_BINARY=llama-helper-!TARGET_TRIPLE!.exe" set "SRC_PATH=..\target\debug\%BASE_BINARY%" set "DEST_PATH=%BINARIES_DIR%\%SIDECAR_BINARY%" if not exist "%SRC_PATH%" ( REM Fallback check set "SRC_PATH=target\debug\%BASE_BINARY%" ) if exist "%SRC_PATH%" ( copy /Y "%SRC_PATH%" "%DEST_PATH%" >nul echo โœ… Copied binary to %DEST_PATH% ) else ( echo โŒ Binary not found at %SRC_PATH% echo โš ๏ธ Contents of ..\target\debug: dir "..\target\debug" exit /b 1 ) REM Run tauri dev echo. echo ๐Ÿ“ฆ Starting complete Tauri application... echo. if %USE_PNPM% equ 1 ( call pnpm run tauri:dev ) else ( call npm run tauri:dev ) if errorlevel 1 ( echo. echo โŒ Development server encountered an error exit /b 1 ) echo. echo ======================================== echo โœ… Development server stopped cleanly echo ======================================== echo. exit /b 0 :_print_help echo. echo ======================================== echo Meetily GPU Development Script - Help echo ======================================== echo. echo USAGE: echo dev-gpu.bat [OPTION] echo. echo OPTIONS: echo help Show this help message echo --help Show this help message echo -h Show this help message echo /? Show this help message echo. echo DESCRIPTION: echo This script automatically detects your GPU and runs echo Meetily in development mode with optimal hardware acceleration: echo. echo - NVIDIA GPU : Builds with CUDA acceleration echo - AMD/Intel GPU : Builds with Vulkan acceleration echo - No GPU : Builds with OpenBLAS CPU optimization echo. echo REQUIREMENTS: echo - Visual Studio 2022 Build Tools echo - Windows SDK 10.0.22621.0 or compatible echo - Rust toolchain installed echo - LLVM installed at C:\Program Files\LLVM\bin echo. echo ======================================== exit /b 0