From 9a298ca833d9b6a3425bb30c2e52cf04e34aeb7c Mon Sep 17 00:00:00 2001 From: James Cowgill Date: Fri, 23 Aug 2013 09:57:55 +0100 Subject: Imported Upstream version 2.1+dfsg --- tools/pkg-config/sfml-all.pc.in | 10 + tools/pkg-config/sfml-audio.pc.in | 12 + tools/pkg-config/sfml-graphics.pc.in | 12 + tools/pkg-config/sfml-network.pc.in | 12 + tools/pkg-config/sfml-system.pc.in | 11 + tools/pkg-config/sfml-window.pc.in | 12 + .../SFML/SFML App.xctemplate/ResourcePath.hpp | 43 +++ .../SFML/SFML App.xctemplate/ResourcePath.mm | 52 +++ .../SFML/SFML App.xctemplate/TemplateIcon.icns | Bin 0 -> 243806 bytes .../SFML/SFML App.xctemplate/TemplateInfo.plist | 268 +++++++++++++++ .../SFML/SFML App.xctemplate/cute_image.jpg | Bin 0 -> 142959 bytes .../templates/SFML/SFML App.xctemplate/icon.png | Bin 0 -> 61926 bytes .../templates/SFML/SFML App.xctemplate/main.cpp | 91 ++++++ .../SFML/SFML App.xctemplate/nice_music.ogg | Bin 0 -> 153776 bytes .../SFML/SFML App.xctemplate/sansation.ttf | Bin 0 -> 28912 bytes .../SFML/SFML Base.xctemplate/TemplateInfo.plist | 116 +++++++ .../SFML/SFML Bundle.xctemplate/TemplateInfo.plist | 132 ++++++++ .../SFML/SFML CLT.xctemplate/TemplateIcon.icns | Bin 0 -> 243806 bytes .../SFML/SFML CLT.xctemplate/TemplateInfo.plist | 137 ++++++++ .../SFML/SFML CLT.xctemplate/cute_image.jpg | Bin 0 -> 142959 bytes .../templates/SFML/SFML CLT.xctemplate/icon.png | Bin 0 -> 61926 bytes .../templates/SFML/SFML CLT.xctemplate/main.cpp | 89 +++++ .../SFML/SFML CLT.xctemplate/nice_music.ogg | Bin 0 -> 153776 bytes .../SFML/SFML CLT.xctemplate/sansation.ttf | Bin 0 -> 28912 bytes .../SFML Compiler.xctemplate/TemplateInfo.plist | 288 ++++++++++++++++ .../SFML/SFML Linker.xctemplate/TemplateInfo.plist | 363 +++++++++++++++++++++ tools/xcode/templates/install.sh | 6 + tools/xcode/templates/readme.txt | 134 ++++++++ 28 files changed, 1788 insertions(+) create mode 100644 tools/pkg-config/sfml-all.pc.in create mode 100644 tools/pkg-config/sfml-audio.pc.in create mode 100644 tools/pkg-config/sfml-graphics.pc.in create mode 100644 tools/pkg-config/sfml-network.pc.in create mode 100644 tools/pkg-config/sfml-system.pc.in create mode 100644 tools/pkg-config/sfml-window.pc.in create mode 100644 tools/xcode/templates/SFML/SFML App.xctemplate/ResourcePath.hpp create mode 100644 tools/xcode/templates/SFML/SFML App.xctemplate/ResourcePath.mm create mode 100644 tools/xcode/templates/SFML/SFML App.xctemplate/TemplateIcon.icns create mode 100644 tools/xcode/templates/SFML/SFML App.xctemplate/TemplateInfo.plist create mode 100644 tools/xcode/templates/SFML/SFML App.xctemplate/cute_image.jpg create mode 100644 tools/xcode/templates/SFML/SFML App.xctemplate/icon.png create mode 100644 tools/xcode/templates/SFML/SFML App.xctemplate/main.cpp create mode 100644 tools/xcode/templates/SFML/SFML App.xctemplate/nice_music.ogg create mode 100644 tools/xcode/templates/SFML/SFML App.xctemplate/sansation.ttf create mode 100644 tools/xcode/templates/SFML/SFML Base.xctemplate/TemplateInfo.plist create mode 100644 tools/xcode/templates/SFML/SFML Bundle.xctemplate/TemplateInfo.plist create mode 100644 tools/xcode/templates/SFML/SFML CLT.xctemplate/TemplateIcon.icns create mode 100644 tools/xcode/templates/SFML/SFML CLT.xctemplate/TemplateInfo.plist create mode 100644 tools/xcode/templates/SFML/SFML CLT.xctemplate/cute_image.jpg create mode 100644 tools/xcode/templates/SFML/SFML CLT.xctemplate/icon.png create mode 100644 tools/xcode/templates/SFML/SFML CLT.xctemplate/main.cpp create mode 100644 tools/xcode/templates/SFML/SFML CLT.xctemplate/nice_music.ogg create mode 100644 tools/xcode/templates/SFML/SFML CLT.xctemplate/sansation.ttf create mode 100644 tools/xcode/templates/SFML/SFML Compiler.xctemplate/TemplateInfo.plist create mode 100644 tools/xcode/templates/SFML/SFML Linker.xctemplate/TemplateInfo.plist create mode 100755 tools/xcode/templates/install.sh create mode 100644 tools/xcode/templates/readme.txt (limited to 'tools') diff --git a/tools/pkg-config/sfml-all.pc.in b/tools/pkg-config/sfml-all.pc.in new file mode 100644 index 0000000..dd2d4c3 --- /dev/null +++ b/tools/pkg-config/sfml-all.pc.in @@ -0,0 +1,10 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib@LIB_SUFFIX@ +includedir=${prefix}/include + +Name: SFML-all +Description: The Simple and Fast Multimedia Library, all modules. +URL: http://www.sfml-dev.org +Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@ +Requires: sfml-system, sfml-window, sfml-graphics, sfml-audio, sfml-network diff --git a/tools/pkg-config/sfml-audio.pc.in b/tools/pkg-config/sfml-audio.pc.in new file mode 100644 index 0000000..7456daa --- /dev/null +++ b/tools/pkg-config/sfml-audio.pc.in @@ -0,0 +1,12 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib@LIB_SUFFIX@ +includedir=${prefix}/include + +Name: SFML-audio +Description: The Simple and Fast Multimedia Library, audio module. +URL: http://www.sfml-dev.org +Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@ +Requires: sfml-system +Libs: -L${libdir} -lsfml-audio +Cflags: -I${includedir} diff --git a/tools/pkg-config/sfml-graphics.pc.in b/tools/pkg-config/sfml-graphics.pc.in new file mode 100644 index 0000000..d0a88a1 --- /dev/null +++ b/tools/pkg-config/sfml-graphics.pc.in @@ -0,0 +1,12 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib@LIB_SUFFIX@ +includedir=${prefix}/include + +Name: SFML-graphics +Description: The Simple and Fast Multimedia Library, graphics module. +URL: http://www.sfml-dev.org +Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@ +Requires: sfml-window +Libs: -L${libdir} -lsfml-graphics +Cflags: -I${includedir} diff --git a/tools/pkg-config/sfml-network.pc.in b/tools/pkg-config/sfml-network.pc.in new file mode 100644 index 0000000..4381ca0 --- /dev/null +++ b/tools/pkg-config/sfml-network.pc.in @@ -0,0 +1,12 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib@LIB_SUFFIX@ +includedir=${prefix}/include + +Name: SFML-network +Description: The Simple and Fast Multimedia Library, network module. +URL: http://www.sfml-dev.org +Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@ +Requires: sfml-system +Libs: -L${libdir} -lsfml-network +Cflags: -I${includedir} diff --git a/tools/pkg-config/sfml-system.pc.in b/tools/pkg-config/sfml-system.pc.in new file mode 100644 index 0000000..647ab53 --- /dev/null +++ b/tools/pkg-config/sfml-system.pc.in @@ -0,0 +1,11 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib@LIB_SUFFIX@ +includedir=${prefix}/include + +Name: SFML-system +Description: The Simple and Fast Multimedia Library, system module. +URL: http://www.sfml-dev.org +Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@ +Libs: -L${libdir} -lsfml-system +Cflags: -I${includedir} diff --git a/tools/pkg-config/sfml-window.pc.in b/tools/pkg-config/sfml-window.pc.in new file mode 100644 index 0000000..b0266e6 --- /dev/null +++ b/tools/pkg-config/sfml-window.pc.in @@ -0,0 +1,12 @@ +prefix=@CMAKE_INSTALL_PREFIX@ +exec_prefix=${prefix} +libdir=${exec_prefix}/lib@LIB_SUFFIX@ +includedir=${prefix}/include + +Name: SFML-window +Description: The Simple and Fast Multimedia Library, window module. +URL: http://www.sfml-dev.org +Version: @VERSION_MAJOR@.@VERSION_MINOR@.@VERSION_PATCH@ +Requires: sfml-system +Libs: -L${libdir} -lsfml-window +Cflags: -I${includedir} diff --git a/tools/xcode/templates/SFML/SFML App.xctemplate/ResourcePath.hpp b/tools/xcode/templates/SFML/SFML App.xctemplate/ResourcePath.hpp new file mode 100644 index 0000000..10e8c60 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML App.xctemplate/ResourcePath.hpp @@ -0,0 +1,43 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2013 Marco Antognini (antognini.marco@gmail.com), +// Laurent Gomila (laurent.gom@gmail.com), +// +// This software is provided 'as-is', without any express or implied warranty. +// In no event will the authors be held liable for any damages arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it freely, +// subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; +// you must not claim that you wrote the original software. +// If you use this software in a product, an acknowledgment +// in the product documentation would be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, +// and must not be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source distribution. +// +//////////////////////////////////////////////////////////// + +#ifndef RESOURCE_PATH_HPP +#define RESOURCE_PATH_HPP + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include + +//////////////////////////////////////////////////////////// +/// \brief Return the path to the resource folder. +/// +/// \return The path to the resource folder associate +/// with the main bundle or an empty string is there is no bundle. +/// +//////////////////////////////////////////////////////////// +std::string resourcePath(void); + +#endif diff --git a/tools/xcode/templates/SFML/SFML App.xctemplate/ResourcePath.mm b/tools/xcode/templates/SFML/SFML App.xctemplate/ResourcePath.mm new file mode 100644 index 0000000..30d47c1 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML App.xctemplate/ResourcePath.mm @@ -0,0 +1,52 @@ +//////////////////////////////////////////////////////////// +// +// SFML - Simple and Fast Multimedia Library +// Copyright (C) 2007-2013 Marco Antognini (antognini.marco@gmail.com), +// Laurent Gomila (laurent.gom@gmail.com), +// +// This software is provided 'as-is', without any express or implied warranty. +// In no event will the authors be held liable for any damages arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it freely, +// subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; +// you must not claim that you wrote the original software. +// If you use this software in a product, an acknowledgment +// in the product documentation would be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, +// and must not be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source distribution. +// +//////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////// +// Headers +//////////////////////////////////////////////////////////// +#include "ResourcePath.hpp" +#import + +//////////////////////////////////////////////////////////// +std::string resourcePath(void) +{ + NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; + + std::string rpath; + NSBundle* bundle = [NSBundle mainBundle]; + + if (bundle == nil) { +#ifdef DEBUG + NSLog(@"bundle is nil... thus no resources path can be found."); +#endif + } else { + NSString* path = [bundle resourcePath]; + rpath = [path UTF8String] + std::string("/"); + } + + [pool drain]; + + return rpath; +} diff --git a/tools/xcode/templates/SFML/SFML App.xctemplate/TemplateIcon.icns b/tools/xcode/templates/SFML/SFML App.xctemplate/TemplateIcon.icns new file mode 100644 index 0000000..477431b Binary files /dev/null and b/tools/xcode/templates/SFML/SFML App.xctemplate/TemplateIcon.icns differ diff --git a/tools/xcode/templates/SFML/SFML App.xctemplate/TemplateInfo.plist b/tools/xcode/templates/SFML/SFML App.xctemplate/TemplateInfo.plist new file mode 100644 index 0000000..19033b1 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML App.xctemplate/TemplateInfo.plist @@ -0,0 +1,268 @@ + + + + + + + + + + + Identifier + org.sfml-dev.app + + Concrete + + + Description + This template creates a SFML Application Bundle. + + Kind + Xcode.Xcode3.ProjectTemplateUnitKind + + Ancestors + + org.sfml-dev.bundle + org.sfml-dev.compiler + org.sfml-dev.linker + + + + Nodes + + ResourcePath.mm + ResourcePath.hpp + main.cpp + cute_image.jpg + nice_music.ogg + sansation.ttf + icon.png + + + + Definitions + + + ResourcePath.mm + + Path + ResourcePath.mm + + ResourcePath.hpp + + Path + ResourcePath.hpp + TargetIndices + + + + + main.cpp + + Path + main.cpp + + + + cute_image.jpg + + Path + cute_image.jpg + Group + Resources + + + nice_music.ogg + + Path + nice_music.ogg + Group + Resources + + + sansation.ttf + + Path + sansation.ttf + Group + Resources + + + icon.png + + Path + icon.png + Group + Resources + + + + + Targets + + + BuildPhases + + + Class + ShellScript + + ShellPath + /bin/sh + + ShellScript + # 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. + +# Are we building a project that uses framework or dylibs ? +case "$SFML_BINARY_TYPE" in + DYLIBS) + frameworks="false" + ;; + *) + frameworks="true" + ;; +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 + error "require() requires one parameter!" + else + # clean potentially old stuff + 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 + copy "/Library/Frameworks/sfml-$1.framework" "$dest/sfml-$1.framework" + elif [ $CONFIGURATION = "Debug" ] && [ $SFML_LINK_DYLIBS_SUFFIX_DEBUG != "" ] + then + copy "/usr/local/lib/libsfml-$1-d.2.dylib" "$dest/libsfml-$1-d.2.dylib" + else + copy "/usr/local/lib/libsfml-$1.2.dylib" "$dest/libsfml-$1.2.dylib" + fi + + if [ "$1" = "audio" ] + then + # copy sndfile framework too + 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 +} + +if [ -n "$SFML_SYSTEM" ] +then + require "system" +fi + +if [ -n "$SFML_AUDIO" ] +then + require "audio" +fi + +if [ -n "$SFML_NETWORK" ] +then + require "network" +fi + +if [ -n "$SFML_WINDOW" ] +then + require "window" +fi + +if [ -n "$SFML_GRAPHICS" ] +then + require "graphics" +fi + + + + RunOnlyForDeploymentPostprocessing + NO + + + + + + + diff --git a/tools/xcode/templates/SFML/SFML App.xctemplate/cute_image.jpg b/tools/xcode/templates/SFML/SFML App.xctemplate/cute_image.jpg new file mode 100644 index 0000000..20724fa Binary files /dev/null and b/tools/xcode/templates/SFML/SFML App.xctemplate/cute_image.jpg differ diff --git a/tools/xcode/templates/SFML/SFML App.xctemplate/icon.png b/tools/xcode/templates/SFML/SFML App.xctemplate/icon.png new file mode 100644 index 0000000..ef62688 Binary files /dev/null and b/tools/xcode/templates/SFML/SFML App.xctemplate/icon.png differ diff --git a/tools/xcode/templates/SFML/SFML App.xctemplate/main.cpp b/tools/xcode/templates/SFML/SFML App.xctemplate/main.cpp new file mode 100644 index 0000000..b1b45ab --- /dev/null +++ b/tools/xcode/templates/SFML/SFML App.xctemplate/main.cpp @@ -0,0 +1,91 @@ + +// +// Disclamer: +// ---------- +// +// This code will work only if you selected window, graphics and audio. +// +// Note that the "Run Script" build phase will copy the required frameworks +// or dylibs to your application bundle so you can execute it on any OS X +// computer. +// +// Your resource files (images, sounds, fonts, ...) are also copied to your +// application bundle. To get the path to these resource, use the helper +// method resourcePath() from ResourcePath.hpp +// + +#include +#include + +// Here is a small helper for you ! Have a look. +#include "ResourcePath.hpp" + +int main(int, char const**) +{ + // Create the main window + sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window"); + + // Set the Icon + sf::Image icon; + if (!icon.loadFromFile(resourcePath() + "icon.png")) { + return EXIT_FAILURE; + } + window.setIcon(icon.getSize().x, icon.getSize().y, icon.getPixelsPtr()); + + // Load a sprite to display + sf::Texture texture; + if (!texture.loadFromFile(resourcePath() + "cute_image.jpg")) { + return EXIT_FAILURE; + } + sf::Sprite sprite(texture); + + // Create a graphical text to display + sf::Font font; + if (!font.loadFromFile(resourcePath() + "sansation.ttf")) { + return EXIT_FAILURE; + } + sf::Text text("Hello SFML", font, 50); + text.setColor(sf::Color::Black); + + // Load a music to play + sf::Music music; + if (!music.openFromFile(resourcePath() + "nice_music.ogg")) { + return EXIT_FAILURE; + } + + // Play the music + music.play(); + + // Start the game loop + while (window.isOpen()) + { + // Process events + sf::Event event; + while (window.pollEvent(event)) + { + // Close window : exit + if (event.type == sf::Event::Closed) { + window.close(); + } + + // Espace pressed : exit + if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Escape) { + window.close(); + } + } + + // Clear screen + window.clear(); + + // Draw the sprite + window.draw(sprite); + + // Draw the string + window.draw(text); + + // Update the window + window.display(); + } + + return EXIT_SUCCESS; +} diff --git a/tools/xcode/templates/SFML/SFML App.xctemplate/nice_music.ogg b/tools/xcode/templates/SFML/SFML App.xctemplate/nice_music.ogg new file mode 100644 index 0000000..f764d61 Binary files /dev/null and b/tools/xcode/templates/SFML/SFML App.xctemplate/nice_music.ogg differ diff --git a/tools/xcode/templates/SFML/SFML App.xctemplate/sansation.ttf b/tools/xcode/templates/SFML/SFML App.xctemplate/sansation.ttf new file mode 100644 index 0000000..d85fbc8 Binary files /dev/null and b/tools/xcode/templates/SFML/SFML App.xctemplate/sansation.ttf differ diff --git a/tools/xcode/templates/SFML/SFML Base.xctemplate/TemplateInfo.plist b/tools/xcode/templates/SFML/SFML Base.xctemplate/TemplateInfo.plist new file mode 100644 index 0000000..13fab2a --- /dev/null +++ b/tools/xcode/templates/SFML/SFML Base.xctemplate/TemplateInfo.plist @@ -0,0 +1,116 @@ + + + + + + + + + + + Identifier + org.sfml-dev.base + + Kind + Xcode.Xcode3.ProjectTemplateUnitKind + + Platforms + + com.apple.platform.macosx + + + + Options + + + Identifier + productName + Required + + Name + Product Name + NotPersisted + + Description + Your new product's name + EmptyReplacement + ProductName + Type + text + + + + Identifier + organizationName + Name + Organization Name + Description + Your company's name + Type + text + Default + ___FULLUSERNAME___ + + + + Identifier + bundleIdentifierPrefix + Required + + Name + Company Identifier + Description + Your company's bundle identifier prefix + EmptyReplacement + com.yourcompany + Type + text + + + + Identifier + bundleIdentifier + Name + Bundle Identifier + NotPersisted + + Description + Your new product's bundle identifier + Default + ___VARIABLE_bundleIdentifierPrefix:bundleIdentifier___.___VARIABLE_productName:RFC1034Identifier___ + Type + static + + + + diff --git a/tools/xcode/templates/SFML/SFML Bundle.xctemplate/TemplateInfo.plist b/tools/xcode/templates/SFML/SFML Bundle.xctemplate/TemplateInfo.plist new file mode 100644 index 0000000..48138a7 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML Bundle.xctemplate/TemplateInfo.plist @@ -0,0 +1,132 @@ + + + + + + + + + + + Identifier + org.sfml-dev.bundle + + Kind + Xcode.Xcode3.ProjectTemplateUnitKind + + Ancestors + + org.sfml-dev.base + + + + Nodes + + ___PACKAGENAME___-Info.plist:Content + + + + Definitions + + ___PACKAGENAME___-Info.plist:Content + <?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleIdentifier</key> + <string>___VARIABLE_bundleIdentifierPrefix:bundleIdentifier___.${PRODUCT_NAME:rfc1034identifier}</string> + <key>CFBundleDevelopmentRegion</key> + <string>en</string> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIconFile</key> + <string></string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>${PRODUCT_NAME}</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleSignature</key> + <string>????</string> +</dict> +</plist> + + + ___PACKAGENAME___-Info.plist + + Group + Supporting Files + TargetIndices + + SubstituteMacros + + + + + + Targets + + + BuildPhases + + + Class + Sources + + + Class + Frameworks + + + Class + Resources + + + + ProductType + com.apple.product-type.application + + SharedSettings + + INFOPLIST_FILE + ___PACKAGENAME___/___PACKAGENAME___-Info.plist + + + + + diff --git a/tools/xcode/templates/SFML/SFML CLT.xctemplate/TemplateIcon.icns b/tools/xcode/templates/SFML/SFML CLT.xctemplate/TemplateIcon.icns new file mode 100644 index 0000000..477431b Binary files /dev/null and b/tools/xcode/templates/SFML/SFML CLT.xctemplate/TemplateIcon.icns differ diff --git a/tools/xcode/templates/SFML/SFML CLT.xctemplate/TemplateInfo.plist b/tools/xcode/templates/SFML/SFML CLT.xctemplate/TemplateInfo.plist new file mode 100644 index 0000000..2c481f7 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML CLT.xctemplate/TemplateInfo.plist @@ -0,0 +1,137 @@ + + + + + + + + + + + Identifier + org.sfml-dev.clt + + Concrete + + + Description + This template creates a SFML Command Line Tool. + + Kind + Xcode.Xcode3.ProjectTemplateUnitKind + + Ancestors + + org.sfml-dev.base + org.sfml-dev.compiler + org.sfml-dev.linker + + + + Nodes + + main.cpp + cute_image.jpg + nice_music.ogg + sansation.ttf + icon.png + + + + Definitions + + + main.cpp + + Path + main.cpp + + + + cute_image.jpg + + Path + cute_image.jpg + Group + Resources + + + nice_music.ogg + + Path + nice_music.ogg + Group + Resources + + + sansation.ttf + + Path + sansation.ttf + Group + Resources + + + icon.png + + Path + icon.png + Group + Resources + + + + + Targets + + + BuildPhases + + + Class + Sources + + + Class + Frameworks + + + + ProductType + com.apple.product-type.tool + + + + + diff --git a/tools/xcode/templates/SFML/SFML CLT.xctemplate/cute_image.jpg b/tools/xcode/templates/SFML/SFML CLT.xctemplate/cute_image.jpg new file mode 100644 index 0000000..20724fa Binary files /dev/null and b/tools/xcode/templates/SFML/SFML CLT.xctemplate/cute_image.jpg differ diff --git a/tools/xcode/templates/SFML/SFML CLT.xctemplate/icon.png b/tools/xcode/templates/SFML/SFML CLT.xctemplate/icon.png new file mode 100644 index 0000000..ef62688 Binary files /dev/null and b/tools/xcode/templates/SFML/SFML CLT.xctemplate/icon.png differ diff --git a/tools/xcode/templates/SFML/SFML CLT.xctemplate/main.cpp b/tools/xcode/templates/SFML/SFML CLT.xctemplate/main.cpp new file mode 100644 index 0000000..daeddf0 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML CLT.xctemplate/main.cpp @@ -0,0 +1,89 @@ + +// +// Disclamer: +// ---------- +// +// This code will work only if you selected window, graphics and audio. +// +// In order to load the resources like cute_image.png, you have to set up +// your target scheme : +// +// - Select "Edit Schemeā€¦" in the "Product" menu; +// - Check the box "use custom working directory"; +// - Fill the text field with the folder path containing your resources; +// (e.g. your project folder) +// - Click OK. +// + +#include +#include + +int main(int argc, char const** argv) +{ + // Create the main window + sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window"); + + // Set the Icon + sf::Image icon; + if (!icon.loadFromFile("icon.png")) { + return EXIT_FAILURE; + } + window.setIcon(icon.getSize().x, icon.getSize().y, icon.getPixelsPtr()); + + // Load a sprite to display + sf::Texture texture; + if (!texture.loadFromFile("cute_image.jpg")) { + return EXIT_FAILURE; + } + sf::Sprite sprite(texture); + + // Create a graphical text to display + sf::Font font; + if (!font.loadFromFile("sansation.ttf")) { + return EXIT_FAILURE; + } + sf::Text text("Hello SFML", font, 50); + text.setColor(sf::Color::Black); + + // Load a music to play + sf::Music music; + if (!music.openFromFile("nice_music.ogg")) { + return EXIT_FAILURE; + } + + // Play the music + music.play(); + + // Start the game loop + while (window.isOpen()) + { + // Process events + sf::Event event; + while (window.pollEvent(event)) + { + // Close window : exit + if (event.type == sf::Event::Closed) { + window.close(); + } + + // Espace pressed : exit + if (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Escape) { + window.close(); + } + } + + // Clear screen + window.clear(); + + // Draw the sprite + window.draw(sprite); + + // Draw the string + window.draw(text); + + // Update the window + window.display(); + } + + return EXIT_SUCCESS; +} diff --git a/tools/xcode/templates/SFML/SFML CLT.xctemplate/nice_music.ogg b/tools/xcode/templates/SFML/SFML CLT.xctemplate/nice_music.ogg new file mode 100644 index 0000000..f764d61 Binary files /dev/null and b/tools/xcode/templates/SFML/SFML CLT.xctemplate/nice_music.ogg differ diff --git a/tools/xcode/templates/SFML/SFML CLT.xctemplate/sansation.ttf b/tools/xcode/templates/SFML/SFML CLT.xctemplate/sansation.ttf new file mode 100644 index 0000000..d85fbc8 Binary files /dev/null and b/tools/xcode/templates/SFML/SFML CLT.xctemplate/sansation.ttf differ diff --git a/tools/xcode/templates/SFML/SFML Compiler.xctemplate/TemplateInfo.plist b/tools/xcode/templates/SFML/SFML Compiler.xctemplate/TemplateInfo.plist new file mode 100644 index 0000000..fb1e2d6 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML Compiler.xctemplate/TemplateInfo.plist @@ -0,0 +1,288 @@ + + + + + + + + + + + Identifier + org.sfml-dev.compiler + + Kind + Xcode.Xcode3.ProjectTemplateUnitKind + + + Options + + + Identifier + compilerSettingsType + + Name + [ADVANCED] C++ Compiler and Standard Library + + Description + If you don't know what is it about, use the default value. Note that you'll need a version of SFML compiled with Clang and libc++ to use C++11 ! + + Default + C++98 with Clang and libstdc++ + + NotPersisted + + + Type + popup + + Units + + + C++98 with GCC and libstdc++ and target 10.5 + + Project + + SharedSettings + + GCC_VERSION + com.apple.compilers.llvmgcc42 + + MACOSX_DEPLOYMENT_TARGET + 10.5 + + + + Targets + + + Frameworks + + Foundation + + + + + + + C++98 with Clang and libstdc++ + + Project + + SharedSettings + + GCC_VERSION + com.apple.compilers.llvm.clang.1_0 + + CLANG_CXX_LANGUAGE_STANDARD + c++98 + + CLANG_CXX_LIBRARY + libstdc++ + + + + + + C++11 with Clang and libc++ + + Project + + SharedSettings + + GCC_VERSION + com.apple.compilers.llvm.clang.1_0 + + CLANG_CXX_LANGUAGE_STANDARD + c++0x + + CLANG_CXX_LIBRARY + libc++ + + + + + + + + Identifier + archType + + Name + [ADVANCED] Architectures + + Description + Choose which architecture(s) you want to support + + Default + Universal + + NotPersisted + + + Type + popup + + Units + + + Universal + + Project + + SharedSettings + + ARCHS + $(ARCHS_STANDARD_32_64_BIT) + + + + + + 64 bits + + Project + + SharedSettings + + ARCHS + $(ARCHS_STANDARD_64_BIT) + + + + + + 32 bits + + Project + + SharedSettings + + ARCHS + $(ARCHS_STANDARD_32_BIT) + + + + + + + + + Project + + SharedSettings + + SUPPORTED_PLATFORMS + macosx + + + + GCC_WARN_ABOUT_RETURN_TYPE + YES + GCC_WARN_UNINITIALIZED_AUTOS + YES + GCC_WARN_UNUSED_VARIABLE + YES + CLANG_WARN__DUPLICATE_METHOD_MATCH + YES + CLANG_WARN_EMPTY_BODY + YES + + + FRAMEWORK_SEARCH_PATHS + /Library/Frameworks/ $(inherited) + + HEADER_SEARCH_PATHS + /usr/local/include/ $(inherited) + + LIBRARY_SEARCH_PATHS + /usr/local/lib/ $(inherited) + + + Configurations + + Debug + + GCC_OPTIMIZATION_LEVEL + 0 + + GCC_PREPROCESSOR_DEFINITIONS + DEBUG=1 $(inherited) + + + ONLY_ACTIVE_ARCH + NO + + + Release + + COPY_PHASE_STRIP + YES + + + ONLY_ACTIVE_ARCH + NO + + + + + + Targets + + + Name + ___PACKAGENAME___ + + SharedSettings + + PRODUCT_NAME + $(TARGET_NAME) + + + Configurations + + Debug + + Release + + + + + + diff --git a/tools/xcode/templates/SFML/SFML Linker.xctemplate/TemplateInfo.plist b/tools/xcode/templates/SFML/SFML Linker.xctemplate/TemplateInfo.plist new file mode 100644 index 0000000..a636d30 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML Linker.xctemplate/TemplateInfo.plist @@ -0,0 +1,363 @@ + + + + + + + + + + + Identifier + org.sfml-dev.linker + + Kind + Xcode.Xcode3.ProjectTemplateUnitKind + + + Options + + + + Identifier + binaryType + + Name + [ADVANCED] SFML binaries + + Description + Choose between dylibs and frameworks. If you're not sure, keep the default value. + + Default + Frameworks + + NotPersisted + + + Type + popup + + Units + + + Frameworks + + Project + + SharedSettings + + SFML_BINARY_TYPE + FRAMEWORKS + + SFML_LINK_DYLIBS_SUFFIX + + + + + + + Dylibs + + Project + + SharedSettings + + SFML_BINARY_TYPE + DYLIBS + + SFML_LINK_DYLIBS_SUFFIX + + + + + + + Dylibs (debug) + + Project + + SharedSettings + + SFML_BINARY_TYPE + DYLIBS + + + Configurations + + Debug + + SFML_LINK_DYLIBS_SUFFIX + -d + + + Release + + SFML_LINK_DYLIBS_SUFFIX + + + + + + + + + + + Identifier + windowModule + + Name + Use window module + + Description + Indicates whether window module should be used or not. + + Type + checkbox + + Default + true + + Units + + + true + + Project + + SharedSettings + + SFML_WINDOW + $(SFML_LINK_PREFIX)sfml-window$(SFML_LINK_SUFFIX) + + + + + + false + + Project + + SharedSettings + + SFML_WINDOW + + + + + + + + + + Identifier + graphicsModule + + Name + Use graphics module + + Description + Indicates whether graphics module should be used or not. + + RequiredOptions + + windowModule + true + + + Type + checkbox + + Default + true + + Units + + + true + + Project + + SharedSettings + + SFML_GRAPHICS + $(SFML_LINK_PREFIX)sfml-graphics$(SFML_LINK_SUFFIX) + + + + + + false + + Project + + SharedSettings + + SFML_GRAPHICS + + + + + + + + + + Identifier + audioModule + + Name + Use audio module + + Description + Indicates whether audio module should be used or not. + + Type + checkbox + + Default + true + + Units + + + true + + Project + + SharedSettings + + SFML_AUDIO + $(SFML_LINK_PREFIX)sfml-audio$(SFML_LINK_SUFFIX) + + + + + + false + + Project + + SharedSettings + + SFML_AUDIO + + + + + + + + + + Identifier + networkModule + + Name + Use network module + + Description + Indicates whether network module should be used or not. + + Type + checkbox + + Default + true + + Units + + + true + + Project + + SharedSettings + + SFML_NETWORK + $(SFML_LINK_PREFIX)sfml-network$(SFML_LINK_SUFFIX) + + + + + + false + + Project + + SharedSettings + + SFML_NETWORK + + + + + + + + + + Project + + SharedSettings + + + SFML_LINK_DYLIBS_PREFIX + -l + + SFML_LINK_FRAMEWORKS_PREFIX + -framework + + SFML_LINK_FRAMEWORKS_SUFFIX + + + SFML_LINK_PREFIX + $(SFML_LINK_$(SFML_BINARY_TYPE)_PREFIX) + + SFML_LINK_SUFFIX + $(SFML_LINK_$(SFML_BINARY_TYPE)_SUFFIX) + + + SFML_SYSTEM + $(SFML_LINK_PREFIX)sfml-system$(SFML_LINK_SUFFIX) + + + OTHER_LDFLAGS + $(inherited) $(SFML_SYSTEM) $(SFML_WINDOW) $(SFML_GRAPHICS) $(SFML_AUDIO) $(SFML_NETWORK) + + + + + diff --git a/tools/xcode/templates/install.sh b/tools/xcode/templates/install.sh new file mode 100755 index 0000000..ec5ef0a --- /dev/null +++ b/tools/xcode/templates/install.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +# Install SFML templates for Xcode 4 into /Library/Developer/Xcode/Templates/ + +mkdir -p /Library/Developer/Xcode/Templates/ +cp -R "$(dirname $0)/SFML" /Library/Developer/Xcode/Templates/ diff --git a/tools/xcode/templates/readme.txt b/tools/xcode/templates/readme.txt new file mode 100644 index 0000000..ab28730 --- /dev/null +++ b/tools/xcode/templates/readme.txt @@ -0,0 +1,134 @@ + +XCODE 4 TEMPLATES FOR SFML 2 +============================ + +These templates help you to easily create a new SFML 2 project for Xcode 4. + + + +Web Site +-------- + +You can find more resources and information on the official web site : http://www.sfml-dev.org/ + + + +Author & License +---------------- + +The templates were written by Marco Antognini and are provided under the terms of the zlib/png license : http://opensource.org/licenses/zlib-license.php + + + +Features +-------- + + * You can choose between command line tool or bundle application, the latter will contains all SFML dependancies so you can run your app on another computer without manually installing SFML. + * You can choose between using SFML libraries as dylibs or frameworks. + * You can choose your compiler and C++ standard library / dialect. + * You can choose with SFML module you want to use into your project. + * You automatically get a basic example to test SFML right away. + + + +Prerequisites +------------- + +Before installing the template, make sure you have installed : + + - Xcode 4 (the templates were tested with Xcode 4.5.2) + - SFML 2, either as framework or dylibs binaries + +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. + +You should also be familiar with Xcode 4. If needed checkout this document : http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/Xcode4UserGuide/000-About_Xcode/about.html + + + +Install +------- + +If you are building SFML from sources you can set CMake's INSTALL_XCODE4_TEMPLATES variable to TRUE to install the templates automatically. Otherwise proceed as follow : + 1. Make sure "~/Library/Developer/Xcode/Templates/" folder exists; + 2. Copy "SFML" folder into the above folder. +The 'install.sh' script in the same directory as this readme does that for you. + + + +Usage +----- + +To use these templates follow these steps : + + 1. open Xcode 4, + 2. select "create a new Xcode project" from the "Welcome to Xcode" window or select menus File > New > New Project, + 3. select "SFML" subsection under "Mac OS X" on the left, + 4. then select either "SFML App", if you want an application bundle, or "SFML CLT", if you prefer a classic Unix executable, + 5. fill in the requested information and you're ready to go ! + +Note : some settings are marked as "[ADVANCED]" in the wizard. If you're not sure what they are, simply keep the default settings. If you get errors later you would probably want to explore their meaning. + + + +Question & Answer +----------------- + + * I want to use Xcode 3. Can I use these templates anyway ? + + No, Xcode 3 and 4 don't have the same template system. Therefore these templates won't work with a older version of Xcode. + + + + * I'm still using SFML 1.6. Can I use these templates anyway ? + + No, these templates were made for SFML 2 only. + + + + * I would like to add/remove a module of SFML from my current project without creating a new project. How can I do that ? + + 1. select your project in the project navigator panel, + 2. select your project's target on the main area, + 3. go to the "Build Settings" tab, + 4. go down to the bottom, + 5. set SFML_XXX variable, where XXX is the name of the module to add/remove, to "$(SFML_LINK_PREFIX)sfml-XXX$(SFML_LINK_SUFFIX)" to add it or to "" (nothing) to remove it. + + + + * I changed my mind and would like to switch from dylibs to frameworks or vice versa. How can I do that ? + + 1. select your project in the project navigator panel, + 2. select your project's target on the main area, + 3. go to the "Build Settings" tab, + 4. go down to the bottom, + 5. set SFML_BINARY_TYPE to either "DYLIBS" or "FRAMEWORKS". + + + + * How to use/don't use debug dylibs ? + + You can choose to use or not SFML debug binaries when creating a new project. However, if you have already created your project you can do the following : + + 1. select your project from the project navigator panel, + 2. select your project's target on the main area, + 3. go to the "Build Settings" tab, + 4. go down to the bottom, + 5. set SFML_LINK_DYLIBS_SUFFIX_DEBUG to "-d" to use them or to "" (empty string) to use only release binaries. + + + + * I want to use the static version of SFML. Is it possible ? + + Short answer : Don't do that! + + We strongly recommend you to use either dylibs or frameworks on Mac OS X. Please refer to Apple documentation for information about static vs shared libraries debate. + + If you really need/want to use static libraries proceed as follow. First, set your project to use dylibs (see above Q & A). Then set SFML_LINK_DYLIBS_SUFFIX to "-s-d" in debug mode and to "-s" in release mode. Finally, remove the script automatically generated by the template (see Build Phases tab). + + + + * I get strange linker error about std::string and other STL types. What shall I do ? + + This probably means you're compiling your project against a different implementation of the STL than SFML. When you created the project, you might have chosen the wrong C++ compiler & standard library. You can update your project's build settings; more specifically the Compiler for C/C++/Objective-C, the C++ language Dialect and the C++ Standard Library. You can find more information in the getting started tutorial for Mac OS X on the official web site. + + -- cgit v1.2.3