#!/bin/sh
# vim: expandtab sw=4 ts=4 sts=4:

# Usage: make-release [branch]

set -e

repo=gammu
srcdir=`pwd`

version=`sed -n 's/set (VERSION "\([^"]*\)".*)/\1/p' CMakeLists.txt`

# Pre release checks
if [ "x$1" = "xbranch" ] ; then
    if grep -q '^200[0-9]???? - ' ChangeLog ; then
        echo 'ChangeLog does not seem to be finalised, aborting!'
        exit 1
    fi
fi

tmp=`mktemp -dt $repo-build-XXXXXX`

cd $tmp
echo Working in $tmp
if [ "x$1" = "xbranch" ] ; then
    rel=RELEASE_`echo -n $version|tr . _`
    svn cp -m "Tag release $version" svn+ssh://mort/home/svn/$repo/trunk svn+ssh://mort/home/svn/$repo/tags/$rel
    svn export svn+ssh://mort/home/svn/$repo/tags/$rel $repo-$version
else
    svn export svn+ssh://mort/home/svn/$repo/trunk $repo-$version
fi

echo 'Creating source tarballs...'
tar cfz $repo-$version.tar.gz $repo-$version
tar cfj $repo-$version.tar.bz2 $repo-$version

echo 'Building Windows version...'
mkdir build-win-shared
cd build-win-shared
cmake ../$repo-$version \
    -DCROSS_MINGW=ON \
    -DENABLE_SHARED=ON \
    -DGETTEXT_CROSS_PATH=$srcdir/../../win-cross/gettext \
    -DMYSQL_CROSS_PATH=$srcdir/../../win-cross/mysql \
    -DPOSTGRES_CROSS_PATH=$srcdir/../../win-cross/pgsql \

make -j 2
cpack
mv Gammu-*-Windows.* ../
cd ..

echo 'Building minimal Windows version...'
mkdir build-win-minimal
cd build-win*minimal
cmake ../$repo-$version \
    -DCROSS_MINGW=ON \
    -DENABLE_SHARED=OFF \
    -DPACKAGE_NAME=Windows-Minimal \
    -DMYSQL_CROSS_PATH= \
    -DPOSTGRES_CROSS_PATH= \
    -DGETTEXT_CROSS_PATH= \

make -j 2
cpack
mv Gammu-*-Windows-Minimal.* ../
cd ..

echo "Release is in $tmp directory:"
ls -lh $tmp
