@echo off rem ===================================================================== rem Construit le binaire de release et prepare les artefacts de rem distribution : executable autonome + archive portable (zip). rem ===================================================================== setlocal enabledelayedexpansion cd /d "%~dp0" set OUT=build if not exist "%OUT%" mkdir "%OUT%" echo. echo === Compilation (release) === nim c -d:release --app:gui --hints:off -o:"%OUT%\nimpulse.exe" src\nimpulse.nim if errorlevel 1 ( echo [FAIL] compilation exit /b 1 ) echo. echo === Taille du binaire === dir "%OUT%\nimpulse.exe" | findstr /i "nimpulse.exe" echo. echo === Preparation de l'archive portable === set PORTABLE=%OUT%\portable if exist "%PORTABLE%" rmdir /s /q "%PORTABLE%" mkdir "%PORTABLE%" copy /y "%OUT%\nimpulse.exe" "%PORTABLE%\" >nul copy /y "config.example.json" "%PORTABLE%\" >nul copy /y "README.md" "%PORTABLE%\" >nul rem Le fichier `portable` (vide) indique a l'application de stocker sa rem configuration a cote de l'executable au lieu de %%APPDATA%%. type nul > "%PORTABLE%\portable" powershell -NoProfile -Command "Compress-Archive -Path '%PORTABLE%\*' -DestinationPath '%OUT%\NimPulse-portable.zip' -Force" if errorlevel 1 ( echo [FAIL] creation de l'archive exit /b 1 ) echo. echo === Artefacts === dir /b "%OUT%" echo. echo Termine. L'executable autonome est dans build\nimpulse.exe echo et l'archive portable dans build\NimPulse-portable.zip exit /b 0