Improve Xcode templates post build script : now copy freetype too
Additionally, the script is more robust and can explain what failed.
This commit is contained in:
parent
54bc864484
commit
a674135834
@ -155,35 +155,77 @@ case "$SFML_BINARY_TYPE" in
|
||||
;;
|
||||
esac
|
||||
|
||||
# Echoes to stderr
|
||||
error () # $* message to display
|
||||
{
|
||||
echo $* 1>&2
|
||||
exit 2
|
||||
}
|
||||
|
||||
assert () # $1 is a boolean, $2...N is an error message
|
||||
{
|
||||
if [ $# -lt 2 ]
|
||||
then
|
||||
error "Internal error in assert : not enough args"
|
||||
fi
|
||||
|
||||
if [ $1 -ne 0 ]
|
||||
then
|
||||
shift
|
||||
error "$*"
|
||||
fi
|
||||
}
|
||||
|
||||
force_remove () # $1 is a path
|
||||
{
|
||||
test $# -eq 1
|
||||
assert $? "force_remove() requires one parameter"
|
||||
rm -fr "$1"
|
||||
assert $? "couldn't remove $1"
|
||||
}
|
||||
|
||||
copy () # $1 is a source, $2 is a destination
|
||||
{
|
||||
test $# -eq 2
|
||||
assert $? "copy() requires two parameters"
|
||||
ditto "$1" "$2"
|
||||
assert $? "couldn't copy $1 to $2"
|
||||
}
|
||||
|
||||
require () # $1 is a SFML module like 'system' or 'audio'
|
||||
{
|
||||
dest="$BUILT_PRODUCTS_DIR/$PRODUCT_NAME.app/Contents/Frameworks"
|
||||
|
||||
if [ -z "$1" ]
|
||||
then
|
||||
echo "no parameter! ERROR!"
|
||||
exit
|
||||
error "require() requires one parameter!"
|
||||
else
|
||||
# clean potentially old stuff
|
||||
rm -f "$dest/libsfml-$1.2.dylib"
|
||||
rm -f "$dest/libsfml-$1-d.2.dylib"
|
||||
rm -fr "$dest/sfml-$1.framework"
|
||||
force_remove "$dest/libsfml-$1.2.dylib"
|
||||
force_remove "$dest/libsfml-$1-d.2.dylib"
|
||||
force_remove "$dest/sfml-$1.framework"
|
||||
|
||||
# copy SFML libraries
|
||||
if [ "$frameworks" = "true" ]
|
||||
then
|
||||
ditto "/Library/Frameworks/sfml-$1.framework" "$dest/sfml-$1.framework"
|
||||
copy "/Library/Frameworks/sfml-$1.framework" "$dest/sfml-$1.framework"
|
||||
elif [ $CONFIGURATION = "Debug" ] && [ $SFML_LINK_DYLIBS_SUFFIX_DEBUG != "" ]
|
||||
then
|
||||
ditto "/usr/local/lib/libsfml-$1-d.2.dylib" "$dest/libsfml-$1-d.2.dylib"
|
||||
copy "/usr/local/lib/libsfml-$1-d.2.dylib" "$dest/libsfml-$1-d.2.dylib"
|
||||
else
|
||||
ditto "/usr/local/lib/libsfml-$1.2.dylib" "$dest/libsfml-$1.2.dylib"
|
||||
copy "/usr/local/lib/libsfml-$1.2.dylib" "$dest/libsfml-$1.2.dylib"
|
||||
fi
|
||||
|
||||
if [ "$1" = "audio" ]
|
||||
then
|
||||
# copy sndfile framework too
|
||||
ditto "/Library/Frameworks/sndfile.framework" "$dest/sndfile.framework"
|
||||
copy "/Library/Frameworks/sndfile.framework" "$dest/sndfile.framework"
|
||||
fi
|
||||
|
||||
if [ "$1" = "graphics" ]
|
||||
then
|
||||
# copy freetype framework too
|
||||
copy "/Library/Frameworks/freetype.framework" "$dest/freetype.framework"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user