Files
NimPulse/release.cmd
T

51 lines
1.5 KiB
Batchfile

@echo off
rem =====================================================================
rem Construit le binaire de release et prépare les artefacts de
rem distribution : exécutable 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%\traytempo.exe" src\traytempo.nim
if errorlevel 1 (
echo [FAIL] compilation
exit /b 1
)
echo.
echo === Taille du binaire ===
dir "%OUT%\traytempo.exe" | findstr /i "traytempo.exe"
echo.
echo === Preparation de l'archive portable ===
set PORTABLE=%OUT%\portable
if exist "%PORTABLE%" rmdir /s /q "%PORTABLE%"
mkdir "%PORTABLE%"
copy /y "%OUT%\traytempo.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%\TrayTempo-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\traytempo.exe
echo et l'archive portable dans build\TrayTempo-portable.zip
exit /b 0