#!/bin/sh print_header() { ROOT=$1 cat <<- EOF [Setup] AppName=Open Scene Graph AppVerName=Open Scene Graph `make -s 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=$ROOT\COPYING.txt EOF } # Usage: # do_dir $ROOT $DIR # do_dir() { ROOT=$1 DIR=$2 DOS_DIR=`echo $DIR | sed 's/\\//\\\/g'` for f in `find $DIR -type f -print | grep -v CVS` do FILE=`basename $f` printf "Source: \"%s\\\%s\\\%s\"; DestDir: \"{app}\\\%s\\\"; CopyMode: alwaysoverwrite\n"\ $ROOT $DOS_DIR $FILE $DOS_DIR done } print_files() { ROOT=$1 echo "[Files]" do_dir $ROOT lib do_dir $ROOT bin for dir in `ls -1 include| grep -v CVS` do do_dir $ROOT "include/$dir" done } # Unfortunately, Inno Setup cannot use ../../ type paths, t # ROOT has to be hard-coded ROOT="C:\OpenSceneGraph" [ -d dist/Win32 ] || mkdir -p dist/Win32 rm -f dist/Win32/osg.iss print_header $ROOT >> dist/Win32/osg.iss print_files $ROOT >> dist/Win32/osg.iss