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
 | |
| 
 | |
| 
 |