Add QtIFW configuration & build files

master
James 2017-09-16 16:56:50 +07:00
parent 813837c5cf
commit b72d1e0ca0
11 changed files with 140 additions and 0 deletions

5
.gitignore vendored

@ -26,3 +26,8 @@ src/common/scm_rev.cpp
# Windows global filetypes
Thumbs.db
# QtIFW builds
dist/installer/redist
dist/installer/citra-installer*
dist/installer/*.zip
dist/installer/*.tar.gz

@ -0,0 +1,30 @@
Citra Qt Installer
==================
This contains the configuration files for building Citra's installer.
`packages` is empty as Qt expects that it gets a valid directory for offline
packages, even if you are a online-only installer.
Installers can only be built on the platform that they are targeting.
Windows
-------
Using Powershell 2.0 (Windows 10):
```powershell
cd dist\installer
powershell ExecutionPolicy Bypass .\build.ps1
```
Linux/Mac
---------
Curl + Bash must be available.
```bash
cd dist/installer
chmod +x build.sh
./build.sh
```

@ -0,0 +1,14 @@
if (!(Test-Path redist\installerbase_win.exe)) {
echo "Downloading dependencies..."
if (!(Test-Path redist)) {
New-Item -path . -name redist -itemtype directory
}
Invoke-WebRequest -Uri "https://github.com/citra-emu/ext-windows-bin/raw/master/qtifw/windows.zip" -OutFile windows.zip
echo "Extracting..."
Expand-Archive windows.zip -DestinationPath redist
} else {
echo "Found pre-downloaded redist."
}
echo "Building Qt Installer to '.\citra-installer-windows.exe'..."
.\redist\binarycreator_win.exe -t .\redist\installerbase_win.exe -n -c .\config\config_windows.xml -p .\packages\ citra-installer-windows

@ -0,0 +1,36 @@
#!/bin/bash
set -e
PLATFORM=""
if [[ "$OSTYPE" == "linux-gnu" ]]; then
PLATFORM="linux"
elif [[ "$OSTYPE" == "darwin"* ]]; then
PLATFORM="mac"
else
echo Your platform is not supported.
exit 1
fi
if [ ! -f redist/installerbase_$PLATFORM ]; then
echo Downloading dependencies...
curl -L -O https://github.com/citra-emu/ext-windows-bin/raw/master/qtifw/$PLATFORM.tar.gz
echo Extracting...
mkdir -p redist
cd redist
tar -zxvf ../$PLATFORM.tar.gz
cd ..
chmod +x redist/*
fi
TARGET_FILE=citra-installer-$PLATFORM
CONFIG_FILE=config/config_$PLATFORM.xml
REDIST_BASE=redist/installerbase_$PLATFORM
BINARY_CREATOR=redist/binarycreator_$PLATFORM
PACKAGES_DIR=packages
echo Building to \'$TARGET_FILE\'...
$BINARY_CREATOR -t $REDIST_BASE -n -c $CONFIG_FILE -p $PACKAGES_DIR $TARGET_FILE

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
<Name>Citra</Name>
<Version>1.0.0</Version>
<Title>Citra Updater</Title>
<Publisher>Citra team</Publisher>
<!-- e.g. /home/<user>/Citra -->
<TargetDir>@HomeDir@/Citra</TargetDir>
<InstallerApplicationIcon>icon</InstallerApplicationIcon>
<InstallerWindowIcon>icon.png</InstallerWindowIcon>
<RemoteRepositories>
<Repository>
<Url>https://repo.citra-emu.org</Url>
<Enabled>1</Enabled>
<DisplayName>Official Citra Repository</DisplayName>
</Repository>
</RemoteRepositories>
</Installer>

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
<Name>Citra</Name>
<Version>1.0.0</Version>
<Title>Citra Updater</Title>
<Publisher>Citra team</Publisher>
<!-- e.g. /Applcations/Citra -->
<TargetDir>@ApplicationsDir@/Citra</TargetDir>
<InstallerApplicationIcon>icon</InstallerApplicationIcon>
<InstallerWindowIcon>icon.png</InstallerWindowIcon>
<RemoteRepositories>
<Repository>
<Url>https://repo.citra-emu.org</Url>
<Enabled>1</Enabled>
<DisplayName>Official Citra Repository</DisplayName>
</Repository>
</RemoteRepositories>
</Installer>

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<Installer>
<Name>Citra</Name>
<Version>1.0.0</Version>
<Title>Citra Updater</Title>
<Publisher>Citra team</Publisher>
<StartMenuDir>Citra</StartMenuDir>
<!-- e.g. C:\home\<user>\AppData\Local\Citra -->
<TargetDir>@HomeDir@/AppData/Local/Citra</TargetDir>
<InstallerApplicationIcon>icon</InstallerApplicationIcon>
<InstallerWindowIcon>icon.png</InstallerWindowIcon>
<RemoteRepositories>
<Repository>
<Url>https://repo.citra-emu.org</Url>
<Enabled>1</Enabled>
<DisplayName>Official Citra Repository</DisplayName>
</Repository>
</RemoteRepositories>
</Installer>

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB