71 lines
1.9 KiB
Bash
71 lines
1.9 KiB
Bash
#!/usr/bin/sh
|
|
|
|
for i in uqm-installer.nsi packages.nsh orzshofixti.bmp ultron.bmp \
|
|
uqm-3do.cfg uqm-pc.cfg; do
|
|
if ! [ -f $i ]; then
|
|
echo "$i not found. Make sure you are running from sc2/build/win32_install."
|
|
exit 1
|
|
fi
|
|
done
|
|
if ! [ -f packages.nsh ]; then
|
|
echo "packages.nsh not found. Follow the instructions in INSTALL.pkgs"
|
|
echo "to regenerate it."
|
|
exit 1
|
|
fi
|
|
if ! [ -f ../../uqm.exe ]; then
|
|
echo "uqm.exe not found. Go build it first."
|
|
exit 1
|
|
fi
|
|
|
|
build_keyjam()
|
|
{
|
|
make clean && \
|
|
make && \
|
|
strip keyjam.exe && \
|
|
cp keyjam.exe ../../sc2/build/win32_install
|
|
return $?
|
|
}
|
|
|
|
echo "Building the key-jammer application..."
|
|
cd ../../../tools/keys || exit 1
|
|
build_keyjam
|
|
result=$?
|
|
cd ../../sc2/build/win32_install
|
|
if [ $result -ne 0 ] ; then
|
|
echo "Could not build keyjam.exe. Aborting installer creation."
|
|
exit 1
|
|
fi
|
|
cp ../../uqm.exe . || exit
|
|
strip ./uqm.exe || exit
|
|
echo "Identifying DLL dependencies..."
|
|
DLLS=$(ntldd -R uqm.exe | awk '/\\bin\\/{print $3;}')
|
|
DLLS2=$(ntldd -R keyjam.exe | awk '/\\bin\\/{print $3;}')
|
|
DLLS="$DLLS $DLLS2"
|
|
DLLS=$(for dll in $DLLS; do echo $dll; done | sort -u)
|
|
|
|
(echo "# Autogenerated by build-win32-installer.sh";
|
|
echo "#"
|
|
echo " File \"uqm.exe\""
|
|
echo " File \"keyjam.exe\""
|
|
for dll in $DLLS; do
|
|
echo " File \"$dll\""
|
|
done) >> dlls.nsi
|
|
|
|
(echo "# Autogenerated by build-win32-installer.sh";
|
|
echo "#"
|
|
echo " Delete \"\$INSTDIR\\uqm.exe\""
|
|
echo " Delete \"\$INSTDIR\\keyjam.exe\""
|
|
for dll in $DLLS; do
|
|
echo " Delete \"\$INSTDIR\\$(basename $dll)\""
|
|
done) >> undlls.nsi
|
|
|
|
echo "Preparing documentation..."
|
|
for i in AUTHORS COPYING README README-SDL WhatsNew; do
|
|
cp "../../$i" "$i.txt" && unix2dos "$i.txt"
|
|
done
|
|
cp ../../doc/users/manual.txt Manual.txt && unix2dos "Manual.txt"
|
|
|
|
echo "Creating installer..."
|
|
makensis "-XSetCompressor /SOLID lzma" uqm-installer.nsi || exit 1
|
|
echo "Installer has been created successfully."
|