95 lines
3.4 KiB
Batchfile
95 lines
3.4 KiB
Batchfile
|
@ECHO OFF
|
||
|
:: --------------------------------------------------------------------------------------------------------------------------------------
|
||
|
:: project: GarageCalc Window-Exe Generator
|
||
|
:: summary: create a GarageCalc-executable for Windows (version with no-console-windows as well as version with console windows for traces)
|
||
|
:: file: pyinstaller.cmd
|
||
|
:: date: version author
|
||
|
:: 2021-06-27 1 paul salajean
|
||
|
:: --------------------------------------------------------------------------------------------------------------------------------------
|
||
|
SET version="v0.4"
|
||
|
SET release_dir="D:\Temp\Prog\ownCloud\profp@uberspace\transfer"
|
||
|
|
||
|
SET prev_dir=%cd%
|
||
|
SET reinstall_venv="true"
|
||
|
SET do_zip="false"
|
||
|
|
||
|
CD ..
|
||
|
|
||
|
ECHO Creating GarageCalc Windows.exe-version in folder %cd%\dist
|
||
|
PAUSE
|
||
|
REM pyinstaller --noconfirm --log-level=ERROR ^
|
||
|
REM --onedir --nowindow ^
|
||
|
REM --add-data="README;." ^
|
||
|
REM --add-data="image1.png;img" ^
|
||
|
REM --add-data="img;doc;ui" ^
|
||
|
REM --add-data="LICENSE.txt;changelog.md;GarageCalc.bat" ^
|
||
|
REM --add-binary="libfoo.so;lib" ^
|
||
|
REM --hidden-import=secret1 ^
|
||
|
REM --hidden-import=secret2 ^
|
||
|
REM --icon=.\img\GarageCalc.ico ^
|
||
|
REM --debug=imports ^
|
||
|
REM --key=N0T1me40pp0ssum5
|
||
|
REM --paths=.\src ^
|
||
|
REM GarageCalc.spec
|
||
|
REM The key-string is a string of 16 characters which is used to encrypt each file of Python byte-code before it is stored in the archive inside the executable file.
|
||
|
REM This feature uses the "tinyaes" module internally for the encryption.
|
||
|
REM
|
||
|
|
||
|
::one dir:
|
||
|
ECHO ...Running...
|
||
|
|
||
|
RMDIR /S /Q .\dist>nul
|
||
|
RMDIR /S /Q .\build>nul
|
||
|
|
||
|
::Use Virtual env
|
||
|
IF %reinstall_venv%=="false" GOTO PYINSTALL
|
||
|
ECHO Installing virtual env as ".\env2"...
|
||
|
RMDIR /S /Q .\env2>NUL
|
||
|
python -m venv env2
|
||
|
CALL .\env2\Scripts\activate.bat
|
||
|
|
||
|
ECHO Installing necessary python packages...
|
||
|
python -m pip install --upgrade pip
|
||
|
python -m pip install -r requirements.txt
|
||
|
|
||
|
:PYINSTALL
|
||
|
IF %reinstall_venv%=="false" CALL .\env2\Scripts\activate.bat
|
||
|
ECHO Running "pyinstaller"...
|
||
|
REM pyinstaller .\main.py --name=GarageCalc --noconfirm --console --clean --onedir --log-level=ERROR --hidden-import=PySide2.QtXml --icon=.\img\GarageCalc.ico --add-data="LICENSE;." --add-data="README.md;." --add-data="changelog.md;." --add-data="*.ui;." --add-data="img;.\img"
|
||
|
REM --windowed
|
||
|
pyinstaller .\src\main.py --name=GarageCalc --noconfirm --windowed --clean --onefile --log-level=ERROR --hidden-import=PySide2.QtXml ^
|
||
|
--icon=.\img\icons8-garage-32.ico ^
|
||
|
--add-data="ui;.\ui" ^
|
||
|
--add-data="i18n;.\i18n"
|
||
|
|
||
|
::MOVE .\dist\GarageCalc\*.md .\dist\
|
||
|
::MOVE .\dist\GarageCalc\LICENSE .\dist\
|
||
|
|
||
|
::clean-up img-folder
|
||
|
::MOVE .\dist\GarageCalc\img .\dist\img>NUL
|
||
|
|
||
|
::Remove temp dir and files
|
||
|
DEL /Q *.spec>NUL
|
||
|
RMDIR /S /Q .\build
|
||
|
|
||
|
::Create self extracting archive
|
||
|
IF %do_zip%=="false" GOTO END
|
||
|
::-mx0 = Don't compress at all - just copy the contents to archive.
|
||
|
::-mx1 = Consumes least time, but compression is low.
|
||
|
::-mx3 = Better than -mx1.
|
||
|
::-mx5 = This is default (compression is normal).
|
||
|
::-mx7 = Maximum compression.
|
||
|
::-mx9 = Ultra compression.
|
||
|
"C:\Program Files\7-zip\7z.exe" a %release_dir%\GarageCalc_%version%_portable.exe -mx9 -sfx7z.sfx .\dist\*
|
||
|
|
||
|
::Disable Virtual env
|
||
|
CALL .\env2\Scripts\deactivate.bat
|
||
|
|
||
|
:END
|
||
|
CD %prev_dir%
|
||
|
|
||
|
ECHO Done. Check %prev_dir%\..\dist
|
||
|
IF %do_zip%=="true" ECHO Done. Check %release_dir%
|
||
|
|
||
|
PAUSE
|