- Add MinGW compatibility shim for cpp-httplib GetAddrInfoExCancel - Fix portaudio linking (portaudio_static -> portaudio) - Disable -Werror for MinGW builds due to httplib incompatibilities - Add console subsystem flag for MinGW builds - Add debug logging utilities (Logger.h) - Add MessageBox debugging for Windows troubleshooting - Update build scripts with better error handling 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
191 lines
4.5 KiB
Batchfile
191 lines
4.5 KiB
Batchfile
@echo off
|
|
REM MinGW Setup Script for SecondVoice
|
|
REM This installs a lightweight compiler instead of Visual Studio
|
|
|
|
echo ========================================
|
|
echo SecondVoice - MinGW Setup
|
|
echo ========================================
|
|
echo.
|
|
echo This script will install:
|
|
echo - MinGW-w64 (GCC compiler for Windows)
|
|
echo - CMake (build system)
|
|
echo - Ninja (build tool)
|
|
echo - Git (if not installed)
|
|
echo.
|
|
echo Total size: ~500MB (vs 10GB+ for Visual Studio!)
|
|
echo.
|
|
pause
|
|
|
|
REM Check if running as admin
|
|
net session >nul 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo [WARNING] Not running as administrator
|
|
echo Some installations might fail. Recommended to run as admin.
|
|
echo.
|
|
pause
|
|
)
|
|
|
|
REM Install chocolatey if not present
|
|
where choco >nul 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo [INFO] Installing Chocolatey package manager...
|
|
echo.
|
|
|
|
powershell -Command "Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))"
|
|
|
|
REM Check if Chocolatey is now in PATH
|
|
set "PATH=%PATH%;C:\ProgramData\chocolatey\bin"
|
|
|
|
where choco >nul 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo.
|
|
echo ========================================
|
|
echo [IMPORTANT] Chocolatey installed successfully!
|
|
echo ========================================
|
|
echo.
|
|
echo Please CLOSE this window and reopen PowerShell as ADMIN
|
|
echo Then run this script again: .\setup_mingw.bat
|
|
echo.
|
|
pause
|
|
exit /b 0
|
|
)
|
|
|
|
echo [SUCCESS] Chocolatey installed and ready!
|
|
echo.
|
|
)
|
|
|
|
echo [INFO] Chocolatey found
|
|
echo.
|
|
|
|
REM Install MinGW-w64
|
|
where gcc >nul 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo [INFO] Installing MinGW-w64 (GCC compiler)...
|
|
choco install mingw -y
|
|
|
|
if %errorlevel% neq 0 (
|
|
echo [ERROR] Failed to install MinGW
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo [SUCCESS] MinGW installed!
|
|
echo.
|
|
) else (
|
|
echo [INFO] GCC already installed
|
|
gcc --version
|
|
echo.
|
|
)
|
|
|
|
REM Install CMake
|
|
where cmake >nul 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo [INFO] Installing CMake...
|
|
choco install cmake -y --installargs 'ADD_CMAKE_TO_PATH=System'
|
|
|
|
if %errorlevel% neq 0 (
|
|
echo [ERROR] Failed to install CMake
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo [SUCCESS] CMake installed!
|
|
echo.
|
|
) else (
|
|
echo [INFO] CMake already installed
|
|
cmake --version
|
|
echo.
|
|
)
|
|
|
|
REM Install Ninja
|
|
where ninja >nul 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo [INFO] Installing Ninja...
|
|
choco install ninja -y
|
|
|
|
if %errorlevel% neq 0 (
|
|
echo [ERROR] Failed to install Ninja
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo [SUCCESS] Ninja installed!
|
|
echo.
|
|
) else (
|
|
echo [INFO] Ninja already installed
|
|
ninja --version
|
|
echo.
|
|
)
|
|
|
|
REM Install Git (if not present)
|
|
where git >nul 2>&1
|
|
if %errorlevel% neq 0 (
|
|
echo [INFO] Installing Git...
|
|
choco install git -y
|
|
|
|
if %errorlevel% neq 0 (
|
|
echo [ERROR] Failed to install Git
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo [SUCCESS] Git installed!
|
|
echo.
|
|
) else (
|
|
echo [INFO] Git already installed
|
|
git --version
|
|
echo.
|
|
)
|
|
|
|
REM Setup vcpkg if not present
|
|
if not defined VCPKG_ROOT (
|
|
if not exist "C:\vcpkg" (
|
|
echo [INFO] Installing vcpkg...
|
|
cd C:\
|
|
git clone https://github.com/microsoft/vcpkg.git
|
|
cd vcpkg
|
|
call bootstrap-vcpkg.bat
|
|
|
|
if %errorlevel% neq 0 (
|
|
echo [ERROR] Failed to bootstrap vcpkg
|
|
pause
|
|
exit /b 1
|
|
)
|
|
|
|
echo [SUCCESS] vcpkg installed!
|
|
echo.
|
|
)
|
|
|
|
echo [INFO] Setting VCPKG_ROOT environment variable...
|
|
setx VCPKG_ROOT "C:\vcpkg"
|
|
set VCPKG_ROOT=C:\vcpkg
|
|
echo [SUCCESS] VCPKG_ROOT set to C:\vcpkg
|
|
echo.
|
|
) else (
|
|
echo [INFO] vcpkg already configured at: %VCPKG_ROOT%
|
|
echo.
|
|
)
|
|
|
|
echo ========================================
|
|
echo [SUCCESS] Setup Complete!
|
|
echo ========================================
|
|
echo.
|
|
echo Installed tools:
|
|
where gcc
|
|
where cmake
|
|
where ninja
|
|
where git
|
|
echo VCPKG_ROOT=%VCPKG_ROOT%
|
|
echo.
|
|
echo ========================================
|
|
echo Next Steps:
|
|
echo ========================================
|
|
echo 1. Close and reopen this terminal (to reload PATH)
|
|
echo 2. Run: build_mingw.bat --release
|
|
echo 3. Your .exe will be in: build\mingw-release\SecondVoice.exe
|
|
echo.
|
|
echo Total installation size: ~500MB
|
|
echo (vs 10GB+ for Visual Studio!)
|
|
echo.
|
|
pause
|