51 lines
1.5 KiB
Batchfile
51 lines
1.5 KiB
Batchfile
@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
|