Skip to content

Commit

Permalink
Package separate x64 and x86 Windows installers.
Browse files Browse the repository at this point in the history
  • Loading branch information
pchote authored and abcdefg30 committed May 26, 2019
1 parent 4f7dca8 commit bb5268b
Showing 1 changed file with 47 additions and 37 deletions.
84 changes: 47 additions & 37 deletions packaging/windows/buildpackage.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ command -v makensis >/dev/null 2>&1 || { echo >&2 "Windows packaging requires ma

if [ $# -ne "2" ]; then
echo "Usage: $(basename "$0") tag outputdir"
exit 1
exit 1
fi

# Set the working dir to the location of this script
Expand All @@ -30,44 +30,54 @@ fi
function makelauncher()
{
sed "s|DISPLAY_NAME|$2|" WindowsLauncher.cs.in | sed "s|MOD_ID|$3|" | sed "s|FAQ_URL|${FAQ_URL}|" > WindowsLauncher.cs
csc WindowsLauncher.cs -warn:4 -warnaserror -platform:"x86" -out:"$1" -t:winexe ${LAUNCHER_LIBS} -win32icon:"$4"
csc WindowsLauncher.cs -warn:4 -warnaserror -platform:"$5" -out:"$1" -t:winexe ${LAUNCHER_LIBS} -win32icon:"$4"
rm WindowsLauncher.cs
mono "${SRCDIR}/OpenRA.PostProcess.exe" "$1" -LAA > /dev/null
}

echo "Building core files"

pushd "${SRCDIR}" > /dev/null || exit 1
make clean
make windows-dependencies WIN32=true
make core
make version VERSION="${TAG}"
make install-core gameinstalldir="" DESTDIR="${BUILTDIR}"
popd > /dev/null || exit 1

echo "Compiling Windows launchers"
makelauncher "${BUILTDIR}/RedAlert.exe" "Red Alert" "ra" RedAlert.ico
makelauncher "${BUILTDIR}/TiberianDawn.exe" "Tiberian Dawn" "cnc" TiberianDawn.ico
makelauncher "${BUILTDIR}/Dune2000.exe" "Dune 2000" "d2k" Dune2000.ico

# Windows specific files
cp OpenRA.ico RedAlert.ico TiberianDawn.ico Dune2000.ico "${BUILTDIR}"
cp "${SRCDIR}/OpenRA.Game.exe.config" "${BUILTDIR}"

curl -s -L -O https://raw.githubusercontent.com/wiki/OpenRA/OpenRA/Changelog.md
markdown Changelog.md > "${BUILTDIR}/CHANGELOG.html"
rm Changelog.md

markdown "${SRCDIR}/README.md" > "${BUILTDIR}/README.html"
markdown "${SRCDIR}/CONTRIBUTING.md" > "${BUILTDIR}/CONTRIBUTING.html"

echo "Building Windows setup.exe"
makensis -V2 -DSRCDIR="${BUILTDIR}" -DDEPSDIR="${SRCDIR}/thirdparty/download/windows" -DTAG="${TAG}" -DSUFFIX="${SUFFIX}" OpenRA.nsi
if [ $? -eq 0 ]; then
mv OpenRA.Setup.exe "${OUTPUTDIR}/OpenRA-$TAG.exe"
else
exit 1
fi
function build_platform()
{
echo "Building core files ($1)"
if [ "$1" = "x86" ]; then
IS_WIN32="WIN32=true"
else
IS_WIN32="WIN32=false"
fi

pushd "${SRCDIR}" > /dev/null || exit 1
make clean
make windows-dependencies "${IS_WIN32}"
make core "${IS_WIN32}"
make version VERSION="${TAG}"
make install-core gameinstalldir="" DESTDIR="${BUILTDIR}"
popd > /dev/null || exit 1

echo "Compiling Windows launchers ($1)"
makelauncher "${BUILTDIR}/RedAlert.exe" "Red Alert" "ra" RedAlert.ico $1
makelauncher "${BUILTDIR}/TiberianDawn.exe" "Tiberian Dawn" "cnc" TiberianDawn.ico $1
makelauncher "${BUILTDIR}/Dune2000.exe" "Dune 2000" "d2k" Dune2000.ico $1

# Windows specific files
cp OpenRA.ico RedAlert.ico TiberianDawn.ico Dune2000.ico "${BUILTDIR}"
cp "${SRCDIR}/OpenRA.Game.exe.config" "${BUILTDIR}"

curl -s -L -O https://raw.githubusercontent.com/wiki/OpenRA/OpenRA/Changelog.md
markdown Changelog.md > "${BUILTDIR}/CHANGELOG.html"
rm Changelog.md

markdown "${SRCDIR}/README.md" > "${BUILTDIR}/README.html"
markdown "${SRCDIR}/CONTRIBUTING.md" > "${BUILTDIR}/CONTRIBUTING.html"

echo "Building Windows setup.exe ($1)"
makensis -V2 -DSRCDIR="${BUILTDIR}" -DDEPSDIR="${SRCDIR}/thirdparty/download/windows" -DTAG="${TAG}" -DSUFFIX="${SUFFIX}" OpenRA.nsi
if [ $? -eq 0 ]; then
mv OpenRA.Setup.exe "${OUTPUTDIR}/OpenRA-$TAG-$1.exe"
else
exit 1
fi

rm -rf "${BUILTDIR}"
}

# Cleanup
rm -rf "${BUILTDIR}"
build_platform "x86"
build_platform "x64"

0 comments on commit bb5268b

Please sign in to comment.