Files
amnezia-client/deploy/build_windows.bat
T

105 lines
3.4 KiB
Batchfile
Raw Normal View History

2021-01-23 15:08:01 +03:00
@ECHO OFF
CHCP 1252
2021-01-26 22:00:58 +03:00
REM %VAR:"=% mean dequoted %VAR%
set PATH=%QT_BIN_DIR:"=%;%PATH%
2021-01-23 16:28:06 +03:00
echo "Using Qt in %QT_BIN_DIR%"
echo "Using QIF in %QIF_BIN_DIR%"
2021-01-26 22:00:58 +03:00
REM Hold on to current directory
2021-01-23 15:08:01 +03:00
set PROJECT_DIR=%cd%
set SCRIPT_DIR=%PROJECT_DIR:"=%\deploy
2021-06-01 18:18:09 +03:00
set WORK_DIR=%SCRIPT_DIR:"=%\build_%BUILD_ARCH:"=%
2021-01-26 22:00:58 +03:00
rmdir /Q /S %WORK_DIR%
2021-06-02 00:49:42 +03:00
mkdir %WORK_DIR%
2021-01-23 15:08:01 +03:00
set APP_NAME=AmneziaVPN
set APP_FILENAME=%APP_NAME:"=%.exe
set APP_DOMAIN=org.amneziavpn.package
set RELEASE_DIR=%WORK_DIR:"=%
set OUT_APP_DIR=%RELEASE_DIR:"=%\client\release
set PREBILT_DEPLOY_DATA_DIR=%SCRIPT_DIR:"=%\data\deploy-prebuilt\windows\x%BUILD_ARCH:"=%
2021-06-01 18:18:09 +03:00
set DEPLOY_DATA_DIR=%SCRIPT_DIR:"=%\data\windows\x%BUILD_ARCH:"=%
2021-01-23 15:08:01 +03:00
set INSTALLER_DATA_DIR=%RELEASE_DIR:"=%\installer\packages\%APP_DOMAIN:"=%\data
2021-06-02 00:49:42 +03:00
set TARGET_FILENAME=%PROJECT_DIR:"=%\%APP_NAME:"=%_x%BUILD_ARCH:"=%.exe
2021-01-23 15:08:01 +03:00
echo "Environment:"
2022-11-18 17:06:52 +03:00
echo "APP_FILENAME: %APP_FILENAME%"
echo "PROJECT_DIR: %PROJECT_DIR%"
2022-11-18 16:18:46 +03:00
echo "SCRIPT_DIR: %SCRIPT_DIR%"
2022-11-18 17:06:52 +03:00
echo "RELEASE_DIR: %RELEASE_DIR%"
echo "OUT_APP_DIR: %OUT_APP_DIR%"
2022-11-18 16:18:46 +03:00
echo "DEPLOY_DATA_DIR: %DEPLOY_DATA_DIR%"
2022-11-18 17:06:52 +03:00
echo "INSTALLER_DATA_DIR: %INSTALLER_DATA_DIR%"
echo "QMAKE_STASH_FILE: %QMAKE_STASH_FILE%"
2022-11-18 16:18:46 +03:00
echo "TARGET_FILENAME: %TARGET_FILENAME%"
2021-01-23 15:08:01 +03:00
2021-02-10 00:07:12 +03:00
rem Signing staff
powershell Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine
powershell Get-ExecutionPolicy -List
powershell Import-PfxCertificate -FilePath %SCRIPT_DIR:"=%\PrivacyTechWindowsCert.pfx -CertStoreLocation Cert:\LocalMachine\My -Password $(ConvertTo-SecureString -String $Env:WIN_CERT_PW -AsPlainText -Force)
2021-01-23 15:08:01 +03:00
echo "Cleanup..."
Rmdir /Q /S %RELEASE_DIR%
Del %TARGET_FILENAME%
2022-11-15 23:31:55 +03:00
call "%QT_BIN_DIR:"=%\qt-cmake" --version
2021-01-26 22:00:58 +03:00
"%QT_BIN_DIR:"=%\windeployqt" -v
2022-11-18 16:18:46 +03:00
cmake --version
2021-01-23 16:28:06 +03:00
2021-01-23 15:08:01 +03:00
cd %PROJECT_DIR%
2022-11-15 23:31:55 +03:00
call "%QT_BIN_DIR:"=%\qt-cmake" . -B %WORK_DIR%
2021-01-23 15:08:01 +03:00
cd %WORK_DIR%
2022-11-15 23:31:55 +03:00
cmake --build . --config release
2021-02-22 16:31:43 +03:00
if %errorlevel% neq 0 exit /b %errorlevel%
2022-11-15 23:31:55 +03:00
cmake --build . --target clean
2021-01-26 15:01:15 +03:00
rem if not exist "%OUT_APP_DIR:"=%\%APP_FILENAME:"=%" break
2021-01-26 22:00:58 +03:00
2021-01-23 15:08:01 +03:00
echo "Deploying..."
2021-01-26 22:00:58 +03:00
copy "%WORK_DIR:"=%\service\server\release\%APP_NAME:"=%-service.exe" %OUT_APP_DIR%
echo "Signing exe"
cd %OUT_APP_DIR%
2021-02-10 00:07:12 +03:00
signtool sign /v /sm /s My /n "Privacy Technologies OU" /fd sha256 /tr http://timestamp.comodoca.com/?td=sha256 /td sha256 *.exe
2021-01-26 22:00:58 +03:00
2021-09-24 13:14:35 +03:00
"%QT_BIN_DIR:"=%\windeployqt" --release --qmldir "%PROJECT_DIR:"=%\client" --force --no-translations "%OUT_APP_DIR:"=%\%APP_FILENAME:"=%"
2021-01-26 22:00:58 +03:00
2021-02-10 00:07:12 +03:00
signtool sign /v /sm /s My /n "Privacy Technologies OU" /fd sha256 /tr http://timestamp.comodoca.com/?td=sha256 /td sha256 *.dll
2021-01-26 22:00:58 +03:00
2021-01-23 15:08:01 +03:00
echo "Copying deploy data..."
2021-06-02 00:49:42 +03:00
xcopy %DEPLOY_DATA_DIR% %OUT_APP_DIR% /s /e /y /i /f
xcopy %PREBILT_DEPLOY_DATA_DIR% %OUT_APP_DIR% /s /e /y /i /f
copy "%WORK_DIR:"=%\service\wireguard-service\release\wireguard-service.exe" %OUT_APP_DIR%\wireguard\
2021-01-26 22:00:58 +03:00
2021-01-23 15:08:01 +03:00
cd %SCRIPT_DIR%
2021-06-02 00:49:42 +03:00
xcopy %SCRIPT_DIR:"=%\installer %RELEASE_DIR:"=%\installer /s /e /y /i /f
2021-01-23 15:08:01 +03:00
mkdir %INSTALLER_DATA_DIR%
2021-01-23 16:45:11 +03:00
echo "Deploy finished, content:"
dir %OUT_APP_DIR%
2021-01-23 15:08:01 +03:00
cd %OUT_APP_DIR%
echo "Compressing data..."
2022-11-15 23:31:55 +03:00
"%QIF_BIN_DIR:"=%\archivegen" -c 9 %INSTALLER_DATA_DIR:"=%\%APP_NAME:"=%.7z .
2021-01-23 15:08:01 +03:00
cd "%RELEASE_DIR:"=%\installer"
echo "Creating installer..."
"%QIF_BIN_DIR:"=%\binarycreator" --offline-only -v -c config\windows.xml -p packages -f %TARGET_FILENAME%
2021-06-03 20:23:44 +03:00
timeout 5
2021-01-23 15:08:01 +03:00
cd %PROJECT_DIR%
2021-06-03 20:23:44 +03:00
signtool sign /v /sm /s My /n "Privacy Technologies OU" /fd sha256 /tr http://timestamp.comodoca.com/?td=sha256 /td sha256 "%TARGET_FILENAME%"
2021-01-26 22:00:58 +03:00
2021-01-23 15:08:01 +03:00
echo "Finished, see %TARGET_FILENAME%"
2022-11-18 16:18:46 +03:00
exit 0