Compare commits

..

No commits in common. "0bbb5e8dbfc4e6562040fba7c6cba616b8a8cf7b" and "7bf303070f358cdb6bf5818b447a7e6fdc9c0a69" have entirely different histories.

View File

@ -11,12 +11,12 @@ REM Detect Go
REM ----------------------------
where go >nul 2>&1
if %ERRORLEVEL% neq 0 (
echo [ERROR] Go is not installed or not in PATH.
echo ❌ ERROR: Go is not installed or not in PATH.
echo Download Go from: https://go.dev/dl/
exit /b 1
)
echo [INFO] Go version:
echo 📦 Go version:
go version
echo.
@ -28,10 +28,10 @@ where winget >nul 2>&1
set WINGET_CHECK=!ERRORLEVEL!
if !WINGET_CHECK! equ 0 (
set WINGET_AVAILABLE=1
echo [OK] winget found ^(automatic installation available^)
echo ✓ winget found (automatic installation available)
) else (
echo [WARN] winget not found ^(manual installation will be required^)
echo To enable automatic installation, update to Windows 10 1809+ or Windows 11
echo ⚠️ winget not found (manual installation will be required)
echo To enable automatic installation, update to Windows 10 1809+ or Windows 11
)
echo.
@ -41,28 +41,28 @@ REM ----------------------------
where git >nul 2>&1
set GIT_CHECK=!ERRORLEVEL!
if !GIT_CHECK! equ 0 (
echo [OK] Git found
echo Git found
git --version
) else (
echo [WARN] Git not found ^(recommended for development^)
echo ⚠️ Git not found (recommended for development)
if !WINGET_AVAILABLE! equ 1 (
echo.
echo Would you like to install Git automatically? ^(Y/N^):
echo Would you like to install Git automatically? (Y/N):
set /p install_git=
if /I "!install_git!"=="Y" (
echo.
echo [INFO] Installing Git via winget...
echo 📥 Installing Git via winget...
winget install -e --id=Git.Git
set GIT_INSTALL_RESULT=!ERRORLEVEL!
if !GIT_INSTALL_RESULT! equ 0 (
echo [OK] Git installed successfully!
echo Git installed successfully!
echo Please restart your terminal and run this script again.
exit /b 0
) else (
echo [ERROR] Failed to install Git automatically.
echo Failed to install Git automatically.
echo Please install manually from: https://git-scm.com/
)
)
@ -78,44 +78,44 @@ REM ----------------------------
where gcc >nul 2>&1
set GCC_CHECK=!ERRORLEVEL!
if !GCC_CHECK! neq 0 (
echo [WARN] GCC not found. CGO requires a C compiler.
echo ⚠️ WARNING: GCC not found. CGO requires a C compiler.
echo.
echo VideoTools requires MinGW-w64 to build on Windows.
echo.
if !WINGET_AVAILABLE! equ 1 (
echo Would you like to install MinGW-w64 automatically? ^(Y/N^):
echo Would you like to install MinGW-w64 automatically? (Y/N):
set /p install_gcc=
if /I "!install_gcc!"=="Y" (
echo.
echo [INFO] Installing MinGW-w64 via winget...
echo 📥 Installing MinGW-w64 via winget...
echo This may take a few minutes...
winget install -e --id=MSYS2.MSYS2
set MSYS2_INSTALL_RESULT=!ERRORLEVEL!
if !MSYS2_INSTALL_RESULT! equ 0 (
echo [OK] MSYS2 installed successfully!
echo MSYS2 installed successfully!
echo.
echo [INFO] Installing GCC toolchain...
echo 📦 Installing GCC toolchain...
C:\msys64\usr\bin\bash.exe -lc "pacman -S --noconfirm mingw-w64-x86_64-gcc"
set GCC_INSTALL_RESULT=!ERRORLEVEL!
if !GCC_INSTALL_RESULT! equ 0 (
echo [OK] GCC installed successfully!
echo GCC installed successfully!
echo.
echo [INFO] Adding MinGW to PATH for this session...
echo 🔧 Adding MinGW to PATH for this session...
set "PATH=C:\msys64\mingw64\bin;!PATH!"
echo [OK] Setup complete! Continuing with build...
echo Setup complete! Continuing with build...
echo.
) else (
echo [ERROR] Failed to install GCC. Please install manually.
echo Failed to install GCC. Please install manually.
echo Visit: https://www.msys2.org/
exit /b 1
)
) else (
echo [ERROR] Failed to install MSYS2. Please install manually.
echo Failed to install MSYS2. Please install manually.
echo Visit: https://www.msys2.org/
exit /b 1
)
@ -128,7 +128,7 @@ if !GCC_CHECK! neq 0 (
REM Show manual installation instructions if we get here
echo.
echo [ERROR] GCC is required to build VideoTools on Windows.
echo GCC is required to build VideoTools on Windows.
echo.
echo Please install MinGW-w64 manually:
echo 1. Install MSYS2 from https://www.msys2.org/
@ -139,7 +139,7 @@ if !GCC_CHECK! neq 0 (
exit /b 1
)
) else (
echo [OK] GCC found:
echo GCC found:
gcc --version | findstr /C:"gcc"
echo.
)
@ -152,28 +152,28 @@ pushd "%~dp0\.."
REM ----------------------------
REM Clean previous build
REM ----------------------------
echo [INFO] Cleaning previous Windows build...
echo 🧹 Cleaning previous Windows build...
if exist VideoTools.exe del /f VideoTools.exe
echo [OK] Cache cleaned
echo Cache cleaned
echo.
REM ----------------------------
REM Download go dependencies
REM ----------------------------
echo [INFO] Downloading dependencies...
echo ⬇️ Downloading dependencies...
go mod download
if %ERRORLEVEL% neq 0 (
echo [ERROR] Failed to download dependencies.
echo Failed to download dependencies.
exit /b 1
)
echo [OK] Dependencies downloaded
echo Dependencies downloaded
echo.
REM ----------------------------
REM Build VideoTools (Windows GUI mode)
REM Note: CGO is required for Fyne/OpenGL on Windows
REM ----------------------------
echo [INFO] Building VideoTools.exe...
echo 🔨 Building VideoTools.exe...
REM Enable CGO for Windows build (required for Fyne)
set CGO_ENABLED=1
@ -184,26 +184,26 @@ go build ^
.
if %ERRORLEVEL% neq 0 (
echo [ERROR] Build failed!
echo Build failed!
popd
exit /b 1
)
echo [OK] Build successful!
echo Build successful!
echo.
REM ----------------------------
REM Show file size
REM ----------------------------
for %%A in (VideoTools.exe) do set FILESIZE=%%~zA
echo Output: VideoTools.exe ^(Size: !FILESIZE! bytes^)
echo Output: VideoTools.exe (Size: !FILESIZE! bytes)
echo.
REM ----------------------------
REM Offer to run FFmpeg setup
REM ----------------------------
if exist "%~dp0setup-windows.ps1" (
echo Would you like to download FFmpeg now? ^(Y/N^):
echo Would you like to download FFmpeg now? (Y/N):
set /p choice=
if /I "!choice!"=="Y" (