#!/bin/sh VERSION=`make -s version` print_header() { cat <<- EOF [Setup] AppName=Open Scene Graph AppVerName=Open Scene Graph $VERSION AppPublisher=OpenSceneGraph AppPublisherURL=http://www.openscenegraph.com AppSupportURL=http://www.openscenegraph.com AppUpdatesURL=http://www.openscenegraph.com DefaultDirName={pf}\OpenSceneGraph DisableDirPage=yes DefaultGroupName=OpenSceneGraph DisableProgramGroupPage=yes LicenseFile=LICENSE.txt EOF } # Usage: # do_dir $DIR # print_file_entry() { DIR=$1 FILE=$2 printf "Source: \"%s\\\%s\"; DestDir: \"{app}\\\%s\\\"; Flags: ignoreversion\n"\ $DIR $FILE $DIR } do_dir() { DIR=$1 shift; DOS_DIR=`echo $DIR | sed 's/\\//\\\/g'` if [ $# -gt 0 ] then while [ $# -gt 0 ] do match=$1 shift; for f in `find $DIR -type f | \ grep -v CVS | \ grep osg | grep "$match"` do print_file_entry $DOS_DIR `basename $f` done done else for f in `find $DIR -type f | grep -v CVS | grep osg` do print_file_entry $DOS_DIR `basename $f` done fi } print_files() { echo "[Files]" do_dir lib .lib do_dir bin .exe .dll for dir in `ls -1 include | grep osg | grep -v CVS` do do_dir include/"$dir" done } print_script() { print_header print_files } BUILD_ISS=1 BUILD_DISTRIBUTION=1 CLEAN_UP=1 while [ $# -gt 0 ] do case $1 in -c ) BUILD_ISS=0 BUILD_DISTRIBUTION=0 CLEAN_UP=1 ;; -d ) BUILD_ISS=0 BUILD_DISTRIBUTION=1 CLEAN_UP=0 ;; -n ) CLEAN_UP=0 ;; -s ) BUILD_ISS=1 BUILD_DISTRIBUTION=0 CLEAN_UP=0 ;; esac shift; done if [ $BUILD_ISS = 1 ] then echo Building Inno Setup script .... rm -f osg.iss print_script | awk '{ printf "%s\r\n", $0 }' > osg.iss fi if [ $BUILD_DISTRIBUTION = 1 ] then echo Building distribution ... OS=`uname | cut -b1-6` if [ "$OS" = "CYGWIN" ] then C:/Program\ Files/Inno\ Setup\ 3/iscc.exe osg.iss [ -d dist/Win32 ] || mkdir -p dist/Win32 mv Output/setup.exe dist/Win32/OpenSceneGraph_"$VERSION"_setup.exe rm -rf Output else echo " Distribution may only be built under Cygwin with Inno Setup" fi fi if [ $CLEAN_UP = 1 ] then echo Cleaning up... rm -f osg.iss fi