85 lines
2.2 KiB
Bash
Executable File
85 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# generates otclient zip package for win32
|
|
# by edubart :)
|
|
|
|
# TODO: the following options
|
|
# --gitroot <giturl> - clone a different url, the default is git://github.com/edubart/otclient.git
|
|
# --platform <platform> - compile for i486-mingw32, i586-msvc-mingw32 or linux
|
|
# --branch <branch> - use sources from a specific branch, the default is master
|
|
# --name <name> - change .exe and folder name, the default is otclient
|
|
# --protocol <proto> - game protocol, the default is 860
|
|
# --suffix <suffix> - override suffix, the default is the date
|
|
# --copy-tibiafiles <folder> - copy Tibia.spr and Tibia.dat from folder
|
|
# --github-upload <url> - upload the zip to github
|
|
# --scp-upload <url> - upload the zip to a shell via scp
|
|
|
|
gitroot="git://github.com/edubart/otclient.git"
|
|
name="otclient"
|
|
protocol=860
|
|
platform="i486-mingw32"
|
|
tibiafiles_folder="$HOME/projects/otclient/modules/game_tibiafiles"
|
|
upload_to="root@myserver.com:/var/www/downloads/"
|
|
pkg_suffix="-snapshot-`date +%Y%m%d`-protocol${protocol}-win32"
|
|
use_spr=false
|
|
upload=false
|
|
make_jobs=8
|
|
|
|
srcdir=`pwd`
|
|
if [ -d $name ]; then
|
|
cd $name
|
|
git pull || exit
|
|
else
|
|
git clone $gitroot $name || exit
|
|
cd $name
|
|
fi
|
|
|
|
gitdir=`pwd`
|
|
revision=`git rev-list --all | wc -l`
|
|
commit=`git describe --dirty --always`
|
|
|
|
rm -rf build
|
|
mkdir build
|
|
cd build
|
|
|
|
cmake -DCMAKE_TOOLCHAIN_FILE=$gitdir/src/framework/cmake/${platform}_toolchain.cmake \
|
|
-DCMAKE_BUILD_TYPE=Release \
|
|
-DBUILD_REVISION=$revision \
|
|
-DBUILD_COMMIT=$commit \
|
|
-DBOT_PROTECTION=OFF \
|
|
-DPROTOCOL=$protocol \
|
|
.. || exit
|
|
|
|
make "-j${make_jobs}" || exit
|
|
|
|
|
|
pkgdir="$name$pkg_suffix"
|
|
pkgzip="$pkgdir.zip"
|
|
|
|
cd $srcdir
|
|
rm -rf $pkgdir
|
|
mkdir $pkgdir
|
|
cd $pkgdir
|
|
|
|
cp -R $gitdir/modules .
|
|
cp $gitdir/build/*.exe .
|
|
cp $gitdir/build/*.map .
|
|
cp $gitdir/LICENSE .
|
|
cp $gitdir/README.rdoc .
|
|
|
|
if $use_spr; then
|
|
cp $dat_folder/*.spr modules/game_tibiafiles/
|
|
cp $dat_folder/*.dat modules/game_tibiafiles/
|
|
fi
|
|
|
|
cd $srcdir
|
|
rm -f $pkgzip
|
|
zip -9 -qr $pkgzip $pkgdir
|
|
|
|
echo "Package generated to $pkgzip"
|
|
|
|
if $upload; then
|
|
scp $srcdir/$pkgzip $upload_to
|
|
fi
|
|
|
|
|