mirror of
https://github.com/moonlight-stream/moonlight-qt.git
synced 2026-02-16 10:40:59 +00:00
Add initial WiX installer for Windows
This commit is contained in:
78
scripts/generate-installers.bat
Normal file
78
scripts/generate-installers.bat
Normal file
@@ -0,0 +1,78 @@
|
||||
rem Run from Qt command prompt with working directory set to root of repo
|
||||
|
||||
setlocal enableDelayedExpansion
|
||||
@echo off
|
||||
|
||||
set BUILD_CONFIG=%1
|
||||
set ARCH=%2
|
||||
|
||||
if "%BUILD_CONFIG%" NEQ "debug" (
|
||||
if "%BUILD_CONFIG%" NEQ "release" (
|
||||
echo Invalid build configuration
|
||||
goto Error
|
||||
)
|
||||
)
|
||||
|
||||
if "%ARCH%" NEQ "x86" (
|
||||
if "%ARCH%" NEQ "x64" (
|
||||
echo Invalid build architecture
|
||||
goto Error
|
||||
)
|
||||
)
|
||||
|
||||
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %ARCH%
|
||||
if !ERRORLEVEL! NEQ 0 goto Error
|
||||
|
||||
set BUILD_ROOT=%cd%\build
|
||||
set SOURCE_ROOT=%cd%
|
||||
set BUILD_FOLDER=%BUILD_ROOT%\build-%ARCH%-%BUILD_CONFIG%
|
||||
set DEPLOY_FOLDER=%BUILD_ROOT%\deploy-%ARCH%-%BUILD_CONFIG%
|
||||
set INSTALLER_FOLDER=%BUILD_ROOT%\installer-%ARCH%-%BUILD_CONFIG%
|
||||
|
||||
echo Cleaning output directories
|
||||
rmdir /s /q %DEPLOY_FOLDER%
|
||||
rmdir /s /q %BUILD_FOLDER%
|
||||
rmdir /s /q %INSTALLER_FOLDER%
|
||||
mkdir %BUILD_ROOT%
|
||||
mkdir %DEPLOY_FOLDER%
|
||||
mkdir %BUILD_FOLDER%
|
||||
mkdir %INSTALLER_FOLDER%
|
||||
|
||||
echo Configuring the project
|
||||
pushd %BUILD_FOLDER%
|
||||
qmake %SOURCE_ROOT%\moonlight-qt.pro
|
||||
if !ERRORLEVEL! NEQ 0 goto Error
|
||||
popd
|
||||
|
||||
echo Compiling Moonlight in %BUILD_CONFIG% configuration
|
||||
pushd %BUILD_FOLDER%
|
||||
nmake %BUILD_CONFIG%
|
||||
if !ERRORLEVEL! NEQ 0 goto Error
|
||||
popd
|
||||
|
||||
echo Copying DLL dependencies
|
||||
copy %SOURCE_ROOT%\libs\windows\lib\%ARCH%\*.dll %DEPLOY_FOLDER%
|
||||
if !ERRORLEVEL! NEQ 0 goto Error
|
||||
|
||||
echo Deploying Qt dependencies
|
||||
windeployqt.exe --dir %DEPLOY_FOLDER% --%BUILD_CONFIG% --qmldir %SOURCE_ROOT%\app\gui %BUILD_FOLDER%\app\%BUILD_CONFIG%\Moonlight.exe
|
||||
if !ERRORLEVEL! NEQ 0 goto Error
|
||||
|
||||
echo Harvesting files for WiX
|
||||
heat dir %DEPLOY_FOLDER% -srd -sfrag -ag -sw5150 -cg MoonlightDependencies -var var.SourceDir -dr INSTALLFOLDER -out %BUILD_FOLDER%\Dependencies.wxs
|
||||
if !ERRORLEVEL! NEQ 0 goto Error
|
||||
|
||||
echo Copying application binary to deployment directory
|
||||
copy %BUILD_FOLDER%\app\%BUILD_CONFIG%\Moonlight.exe %DEPLOY_FOLDER%
|
||||
if !ERRORLEVEL! NEQ 0 goto Error
|
||||
|
||||
echo Building installer
|
||||
msbuild %SOURCE_ROOT%\wix\Moonlight\Moonlight.sln /p:Configuration=%BUILD_CONFIG% /p:Platform=%ARCH%
|
||||
if !ERRORLEVEL! NEQ 0 goto Error
|
||||
|
||||
echo Build successful!
|
||||
exit /b 0
|
||||
|
||||
:Error
|
||||
echo Build failed!
|
||||
exit /b %ERRORLEVEL%
|
||||
Reference in New Issue
Block a user