97148373b3
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37871 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
228 lines
6.0 KiB
Bash
228 lines
6.0 KiB
Bash
#!/bin/sh
|
|
|
|
# Build a range of Unix demos for uploading to the wxWidgets web site.
|
|
# Example:
|
|
# builddemos.sh --wxmsw --verbose &> log
|
|
|
|
PROGNAME=$0
|
|
WXSRCDIR=$WXWIN
|
|
WXDESTDIR=$WXSRCDIR/deliver
|
|
PLATFORM=linux
|
|
|
|
# Default binary subdirectory to copy sample executable from
|
|
WINBINDIR=vc_msw
|
|
|
|
# Suffix to append to each demo tarball, e.g. SuSE92 for widgets-SuSE92
|
|
SUFFIX=linux
|
|
|
|
# Determine if the binary name is .app or not
|
|
determine_binary()
|
|
{
|
|
if [ "$PLATFORM" = "mac" ]; then
|
|
BINARYNAME=$1.app
|
|
else
|
|
BINARYNAME=$1
|
|
fi
|
|
}
|
|
|
|
dobuilddemos_unix()
|
|
{
|
|
if [ ! -d "$WXSRCDIR" ] ; then
|
|
echo Cannot find wxWidgets source directory. Use --wxdir option.
|
|
exit
|
|
fi
|
|
if [ ! -d "$WXDESTDIR" ] ; then
|
|
echo Cannot find wxWidgets destination directory. Use --deliver option.
|
|
exit
|
|
fi
|
|
if [ ! -d samples ] ; then
|
|
echo Cannot find samples directory. Invoke this script from the root of the build folder.
|
|
exit
|
|
fi
|
|
if [ -d include ] ; then
|
|
echo Do not invoke this from the source directory - invoke from the build directory.
|
|
exit
|
|
fi
|
|
|
|
echo wxWidgets build directory is `pwd`
|
|
echo wxWidgets source directory is $WXSRCDIR
|
|
echo wxWidgets deliver directory is $WXDESTDIR
|
|
echo Suffix is $SUFFIX
|
|
|
|
rm -f $WXDESTDIR/*.tar.gz
|
|
|
|
# Dialogs
|
|
|
|
pushd samples/dialogs
|
|
make
|
|
if [ -f dialogs ] ; then
|
|
determine_binary dialogs
|
|
cp $WXSRCDIR/samples/dialogs/*.cpp $WXSRCDIR/samples/dialogs/*.h .
|
|
tar cfz $WXDESTDIR/wxWidgets-DialogsDemo-$SUFFIX.tar.gz $BINARYNAME *.cpp *.h
|
|
rm -f *.cpp *.h
|
|
else
|
|
echo "*** Warning: dialogs sample did not build"
|
|
fi
|
|
popd
|
|
|
|
# HTML
|
|
|
|
pushd samples/html/test
|
|
make
|
|
if [ -f test ] ; then
|
|
if [ "$PLATFORM" = "mac" ]; then
|
|
# Don't rename app on Mac in case it messes up the bundle
|
|
determine_binary test
|
|
else
|
|
mv test htmldemo
|
|
determine_binary htmldemo
|
|
fi
|
|
cp $WXSRCDIR/samples/html/test/*.cpp $WXSRCDIR/samples/html/test/*.htm* $WXSRCDIR/samples/html/test/*.png $WXSRCDIR/samples/html/test/*.gif .
|
|
tar cfz $WXDESTDIR/wxWidgets-HtmlDemo-$SUFFIX.tar.gz $BINARYNAME *.cpp *.png *.gif *.htm*
|
|
rm -f *.cpp *.gif *.png *.htm*
|
|
else
|
|
echo "*** Warning: HTML sample did not build"
|
|
fi
|
|
popd
|
|
|
|
# Widgets
|
|
|
|
pushd samples/widgets
|
|
make
|
|
if [ -f widgets ] ; then
|
|
determine_binary widgets
|
|
cp $WXSRCDIR/samples/widgets/*.cpp $WXSRCDIR/samples/widgets/*.h .
|
|
tar cfz $WXDESTDIR/wxWidgets-WidgetsDemo-$SUFFIX.tar.gz $BINARYNAME *.cpp *.h
|
|
rm -f *.cpp *.h
|
|
else
|
|
echo "*** Warning: widgets sample did not build"
|
|
fi
|
|
popd
|
|
|
|
# Life
|
|
|
|
pushd demos/life
|
|
make
|
|
if [ -f life ] ; then
|
|
determine_binary life
|
|
cp $WXSRCDIR/demos/life/*.cpp $WXSRCDIR/demos/life/*.h $WXSRCDIR/demos/life/*.xpm $WXSRCDIR/demos/life/*.inc $WXSRCDIR/demos/life/*.lif .
|
|
mkdir bitmaps
|
|
cp $WXSRCDIR/demos/life/bitmaps/*.* bitmaps
|
|
tar cfz $WXDESTDIR/wxWidgets-LifeDemo-$SUFFIX.tar.gz $BINARYNAME *.cpp *.h *.xpm *.inc *.lif bitmaps/*.*
|
|
rm -f *.cpp *.h *.xpm *.inc *.lif
|
|
rm -f -r bitmaps
|
|
else
|
|
echo "*** Warning: life demo did not build"
|
|
fi
|
|
popd
|
|
}
|
|
|
|
dobuilddemos_windows()
|
|
{
|
|
if [ ! -d "$WXSRCDIR" ] ; then
|
|
echo Cannot find wxWidgets source directory. Use --wxdir option.
|
|
exit
|
|
fi
|
|
if [ ! -d "$WXDESTDIR" ] ; then
|
|
echo Cannot find wxWidgets destination directory. Use --deliver option.
|
|
exit
|
|
fi
|
|
if [ ! -d samples ] ; then
|
|
echo Cannot find samples directory. Invoke this script from the root of the build folder.
|
|
exit
|
|
fi
|
|
|
|
echo wxWidgets build directory is `pwd`
|
|
echo wxWidgets source directory is $WXSRCDIR
|
|
echo wxWidgets deliver directory is $WXDESTDIR
|
|
echo Suffix is $SUFFIX
|
|
|
|
rm -f $WXDESTDIR/*.zip
|
|
|
|
# Dialogs
|
|
|
|
pushd samples/dialogs
|
|
if [ -f $WINBINDIR/dialogs.exe ] ; then
|
|
cp $WINBINDIR/dialogs.exe .
|
|
zip $WXDESTDIR/wxWidgets-DialogsDemo-$SUFFIX.zip dialogs.exe *.cpp *.h
|
|
rm -f dialogs.exe
|
|
else
|
|
echo "*** Warning: dialogs sample did not build"
|
|
fi
|
|
popd
|
|
|
|
# HTML
|
|
|
|
pushd samples/html/test
|
|
if [ -f $WINBINDIR/test.exe ] ; then
|
|
cp $WINBINDIR/test.exe htmldemo.exe
|
|
zip $WXDESTDIR/wxWidgets-HtmlDemo-$SUFFIX.zip htmldemo.exe *.cpp *.png *.gif *.htm*
|
|
rm -f htmldemo.exe
|
|
else
|
|
echo "*** Warning: HTML sample did not build"
|
|
fi
|
|
popd
|
|
|
|
# Widgets
|
|
|
|
pushd samples/widgets
|
|
if [ -f $WINBINDIR/widgets.exe ] ; then
|
|
cp $WINBINDIR/widgets.exe .
|
|
zip $WXDESTDIR/wxWidgets-WidgetsDemo-$SUFFIX.zip widgets.exe *.cpp *.h
|
|
else
|
|
echo "*** Warning: widgets sample did not build"
|
|
fi
|
|
popd
|
|
|
|
# Life
|
|
|
|
pushd demos/life
|
|
if [ -f $WINBINDIR/life.exe ] ; then
|
|
cp $WINBINDIR/life.exe .
|
|
zip $WXDESTDIR/wxWidgets-LifeDemo-$SUFFIX.zip life.exe *.cpp *.h *.xpm *.inc *.lif bitmaps/*.*
|
|
else
|
|
echo "*** Warning: life demo did not build"
|
|
fi
|
|
popd
|
|
}
|
|
|
|
usage()
|
|
{
|
|
echo "Usage: $PROGNAME [ options ]" 1>&2
|
|
echo Options:
|
|
echo " --help Display this help message"
|
|
echo " --suffix Append suffix to each tarball"
|
|
echo " --wxdir wxWidgets source dir"
|
|
echo " --deliver Tarball destination dir"
|
|
echo " --mac Whether we're building on Mac"
|
|
echo.
|
|
echo Note that options only override settings in $SCRIPTDIR/setup.var.
|
|
exit 1
|
|
}
|
|
|
|
# Process command line options.
|
|
|
|
while [ $# -gt 0 ]
|
|
do
|
|
case "$1" in
|
|
--suffix) SUFFIX=$2; shift;;
|
|
--wxdir) WXSRCDIR=$2; WXDESTDIR=$WXSRCDIR/deliver; shift;;
|
|
--deliver) WXDESTDIR=$2; shift;;
|
|
--mac) PLATFORM=mac;;
|
|
*)
|
|
usage
|
|
exit
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [ "$OS" = "Windows_NT" ]; then
|
|
dobuilddemos_windows
|
|
else
|
|
dobuilddemos_unix
|
|
fi
|
|
|
|
|
|
|