83 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.1 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 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 \
 | 
						|
        -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
 | 
						|
 | 
						|
 |