Fixed Xcode templates to work with any SOVERSION

This commit is contained in:
Marco Antognini 2014-12-06 14:41:09 +01:00
parent 1c46ec7c37
commit 2a8015be93
3 changed files with 26 additions and 23 deletions

View File

@ -25,7 +25,7 @@ subject to the following restrictions:
--> -->
<!-- <!--
This template can create a SFML 2.0 Bundle Application project. This template can create a SFML 2 Bundle Application project.
--> -->
<plist version="1.0"> <plist version="1.0">
@ -142,10 +142,10 @@ subject to the following restrictions:
<string>/bin/sh</string> <string>/bin/sh</string>
<key>ShellScript</key> <key>ShellScript</key>
<string># This shell script simply copies required sfml dylibs/frameworks into the application bundle frameworks folder. <string># This shell script simply copies required SFML dylibs/frameworks into the application bundle frameworks folder.
# If you're using static libraries (which is not recommended) you should remove this script from your project. # If you're using static libraries (which is not recommended) you should remove this script from your project.
# Are we building a project that uses framework or dylibs ? # Are we building a project that uses frameworks or dylibs?
case "$SFML_BINARY_TYPE" in case "$SFML_BINARY_TYPE" in
DYLIBS) DYLIBS)
frameworks="false" frameworks="false"
@ -176,12 +176,12 @@ assert () # $1 is a boolean, $2...N is an error message
fi fi
} }
force_remove () # $1 is a path force_remove () # $@ is some paths
{ {
test $# -eq 1 test $# -ge 1
assert $? "force_remove() requires one parameter" assert $? "force_remove() requires at least one parameter"
rm -fr "$1" rm -fr $@
assert $? "couldn't remove $1" assert $? "couldn't remove $@"
} }
copy () # $1 is a source, $2 is a destination copy () # $1 is a source, $2 is a destination
@ -201,28 +201,31 @@ require () # $1 is a SFML module like 'system' or 'audio'
error "require() requires one parameter!" error "require() requires one parameter!"
else else
# clean potentially old stuff # clean potentially old stuff
force_remove "$dest/libsfml-$1.2.dylib" force_remove "$dest/libsfml-$1"*
force_remove "$dest/libsfml-$1-d.2.dylib"
force_remove "$dest/sfml-$1.framework" force_remove "$dest/sfml-$1.framework"
# copy SFML libraries # copy SFML libraries
if [ "$frameworks" = "true" ] if [ "$frameworks" = "true" ]
then then
copy "/Library/Frameworks/sfml-$1.framework" "$dest/sfml-$1.framework" source="/Library/Frameworks/sfml-$1.framework"
target="sfml-$1.framework"
elif [ "$SFML_LINK_DYLIBS_SUFFIX" = "-d" ] elif [ "$SFML_LINK_DYLIBS_SUFFIX" = "-d" ]
then then
copy "/usr/local/lib/libsfml-$1-d.2.dylib" "$dest/libsfml-$1-d.2.dylib" source="/usr/local/lib/libsfml-$1-d.dylib"
target="`readlink $source`"
else else
copy "/usr/local/lib/libsfml-$1.2.dylib" "$dest/libsfml-$1.2.dylib" source="/usr/local/lib/libsfml-$1.dylib"
target="`readlink $source`"
fi fi
copy "$source" "$dest/$target"
# copy extra dependencies
if [ "$1" = "audio" ] if [ "$1" = "audio" ]
then then
# copy sndfile framework too # copy sndfile framework too
copy "/Library/Frameworks/sndfile.framework" "$dest/sndfile.framework" copy "/Library/Frameworks/sndfile.framework" "$dest/sndfile.framework"
fi elif [ "$1" = "graphics" ]
if [ "$1" = "graphics" ]
then then
# copy freetype framework too # copy freetype framework too
copy "/Library/Frameworks/freetype.framework" "$dest/freetype.framework" copy "/Library/Frameworks/freetype.framework" "$dest/freetype.framework"

View File

@ -25,7 +25,7 @@ subject to the following restrictions:
--> -->
<!-- <!--
This template can create a SFML 2.0 Command Line Tool project. This template can create a SFML 2 Command Line Tool project.
--> -->
<plist version="1.0"> <plist version="1.0">

View File

@ -1,8 +1,8 @@
XCODE 4 & 5 TEMPLATES FOR SFML 2 XCODE TEMPLATES FOR SFML 2
================================ ==========================
These templates help you to easily create a new SFML 2 project for Xcode 4 or Xcode 5. These templates help you to easily create a new SFML 2 project for Xcode 4 or greater.
@ -36,9 +36,9 @@ Prerequisites
Before installing the template, make sure you have installed: Before installing the template, make sure you have installed:
- Xcode 4 or Xcode 5, up to date - Xcode 4 or greater, up to date
- Installed Xcode's Command Line Tools - the Command Line Tools
- SFML 2, either framework or dylib binaries - SFML 2, either as frameworks or dylibs
There is one constraint on the installation of SFML: the frameworks needs to be installed in /Library/Frameworks and the dylibs into /usr/local/lib. You don't need both but make sure they are in the correct folder. There is one constraint on the installation of SFML: the frameworks needs to be installed in /Library/Frameworks and the dylibs into /usr/local/lib. You don't need both but make sure they are in the correct folder.