diff options
author | James Cowgill <james410@cowgill.org.uk> | 2013-08-23 09:57:55 +0100 |
---|---|---|
committer | James Cowgill <james410@cowgill.org.uk> | 2013-08-23 09:57:55 +0100 |
commit | 9a298ca833d9b6a3425bb30c2e52cf04e34aeb7c (patch) | |
tree | d46630a885bcea03bbea036b86c645dc6c55708d /tools | |
parent | 0969839d538a385254c6eced9648acc7299876cc (diff) |
Imported Upstream version 2.1+dfsg
Diffstat (limited to 'tools')
28 files changed, 1788 insertions, 0 deletions
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 <string> + +//////////////////////////////////////////////////////////// +/// \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 <Foundation/Foundation.h> + +//////////////////////////////////////////////////////////// +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 Binary files differnew file mode 100644 index 0000000..477431b --- /dev/null +++ b/tools/xcode/templates/SFML/SFML App.xctemplate/TemplateIcon.icns 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 @@ +<?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"> + +<!-- +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. +--> + +<!-- + This template can create a SFML 2.0 Bundle Application project. + --> + +<plist version="1.0"> + <dict> + <!-- + BASIC INFO + --> + <key>Identifier</key> + <string>org.sfml-dev.app</string> + + <key>Concrete</key> + <true /> + + <key>Description</key> + <string>This template creates a SFML Application Bundle.</string> + + <key>Kind</key> + <string>Xcode.Xcode3.ProjectTemplateUnitKind</string> + + <key>Ancestors</key> + <array> + <string>org.sfml-dev.bundle</string> + <string>org.sfml-dev.compiler</string> + <string>org.sfml-dev.linker</string> + </array> + + <!-- + FILES + --> + <key>Nodes</key> + <array> + <string>ResourcePath.mm</string> + <string>ResourcePath.hpp</string> + <string>main.cpp</string> + <string>cute_image.jpg</string> + <string>nice_music.ogg</string> + <string>sansation.ttf</string> + <string>icon.png</string> + </array> + + <!-- + DEFINITIONS + --> + <key>Definitions</key> + <dict> + <!-- RESOURCE PATH --> + <key>ResourcePath.mm</key> + <dict> + <key>Path</key> + <string>ResourcePath.mm</string> + </dict> + <key>ResourcePath.hpp</key> + <dict> + <key>Path</key> + <string>ResourcePath.hpp</string> + <key>TargetIndices</key> + <array /> <!-- don't copy it to "Resources" ! --> + </dict> + + <!-- MAIN --> + <key>main.cpp</key> + <dict> + <key>Path</key> + <string>main.cpp</string> + </dict> + + <!-- RESOURCES --> + <key>cute_image.jpg</key> + <dict> + <key>Path</key> + <string>cute_image.jpg</string> + <key>Group</key> + <string>Resources</string> + </dict> + + <key>nice_music.ogg</key> + <dict> + <key>Path</key> + <string>nice_music.ogg</string> + <key>Group</key> + <string>Resources</string> + </dict> + + <key>sansation.ttf</key> + <dict> + <key>Path</key> + <string>sansation.ttf</string> + <key>Group</key> + <string>Resources</string> + </dict> + + <key>icon.png</key> + <dict> + <key>Path</key> + <string>icon.png</string> + <key>Group</key> + <string>Resources</string> + </dict> + </dict> + + <!-- + COPY LIBRARY PHASE + --> + <key>Targets</key> + <array> + <dict> + <key>BuildPhases</key> + <array> + <dict> + <key>Class</key> + <string>ShellScript</string> + + <key>ShellPath</key> + <string>/bin/sh</string> + + <key>ShellScript</key> + <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. + +# 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 + + </string> + + <key>RunOnlyForDeploymentPostprocessing</key> + <string>NO</string> + </dict> + </array> + </dict> + </array> + </dict> +</plist> + diff --git a/tools/xcode/templates/SFML/SFML App.xctemplate/cute_image.jpg b/tools/xcode/templates/SFML/SFML App.xctemplate/cute_image.jpg Binary files differnew file mode 100644 index 0000000..20724fa --- /dev/null +++ b/tools/xcode/templates/SFML/SFML App.xctemplate/cute_image.jpg diff --git a/tools/xcode/templates/SFML/SFML App.xctemplate/icon.png b/tools/xcode/templates/SFML/SFML App.xctemplate/icon.png Binary files differnew file mode 100644 index 0000000..ef62688 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML App.xctemplate/icon.png 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 <SFML/Audio.hpp> +#include <SFML/Graphics.hpp> + +// 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 Binary files differnew file mode 100644 index 0000000..f764d61 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML App.xctemplate/nice_music.ogg diff --git a/tools/xcode/templates/SFML/SFML App.xctemplate/sansation.ttf b/tools/xcode/templates/SFML/SFML App.xctemplate/sansation.ttf Binary files differnew file mode 100644 index 0000000..d85fbc8 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML App.xctemplate/sansation.ttf 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 @@ +<?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"> + +<!-- +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. + --> + +<!-- + This template defines : + - the product name + - the organization name + - the bundle prefix + --> + +<plist version="1.0"> + <dict> + <!-- + BASIC INFO + --> + <key>Identifier</key> + <string>org.sfml-dev.base</string> + + <key>Kind</key> + <string>Xcode.Xcode3.ProjectTemplateUnitKind</string> + + <key>Platforms</key> + <array> + <string>com.apple.platform.macosx</string> + </array> + + <!-- + OPTIONS + --> + <key>Options</key> + <array> + <dict> + <key>Identifier</key> + <string>productName</string> + <key>Required</key> + <true /> + <key>Name</key> + <string>Product Name</string> + <key>NotPersisted</key> + <true /> + <key>Description</key> + <string>Your new product's name</string> + <key>EmptyReplacement</key> + <string>ProductName</string> + <key>Type</key> + <string>text</string> + </dict> + + <dict> + <key>Identifier</key> + <string>organizationName</string> + <key>Name</key> + <string>Organization Name</string> + <key>Description</key> + <string>Your company's name</string> + <key>Type</key> + <string>text</string> + <key>Default</key> + <string>___FULLUSERNAME___</string> + </dict> + + <dict> + <key>Identifier</key> + <string>bundleIdentifierPrefix</string> + <key>Required</key> + <true /> + <key>Name</key> + <string>Company Identifier</string> + <key>Description</key> + <string>Your company's bundle identifier prefix</string> + <key>EmptyReplacement</key> + <string>com.yourcompany</string> + <key>Type</key> + <string>text</string> + </dict> + + <dict> + <key>Identifier</key> + <string>bundleIdentifier</string> + <key>Name</key> + <string>Bundle Identifier</string> + <key>NotPersisted</key> + <true /> + <key>Description</key> + <string>Your new product's bundle identifier</string> + <key>Default</key> + <string>___VARIABLE_bundleIdentifierPrefix:bundleIdentifier___.___VARIABLE_productName:RFC1034Identifier___</string> + <key>Type</key> + <string>static</string> + </dict> + </array> + </dict> +</plist> 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 @@ +<?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"> + +<!-- +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. + --> + +<!-- + This template defines : + - the bundle properties (plist) + - the target type (.app) + - the build phases + --> + +<plist version="1.0"> + <dict> + <!-- + BASIC INFO + --> + <key>Identifier</key> + <string>org.sfml-dev.bundle</string> + + <key>Kind</key> + <string>Xcode.Xcode3.ProjectTemplateUnitKind</string> + + <key>Ancestors</key> + <array> + <string>org.sfml-dev.base</string> + </array> + + <!-- + FILES + --> + <key>Nodes</key> + <array> + <string>___PACKAGENAME___-Info.plist:Content</string> + </array> + + <!-- + DEFINITIONS + --> + <key>Definitions</key> + <dict> + <key>___PACKAGENAME___-Info.plist:Content</key> <!-- TODO add more fields here --> + <string><?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> +</string> + + <key>___PACKAGENAME___-Info.plist</key> + <dict> + <key>Group</key> + <string>Supporting Files</string> + <key>TargetIndices</key> + <array /> + <key>SubstituteMacros</key> + <true /> + </dict> + </dict> + + <!-- + TARGET + --> + <key>Targets</key> + <array> + <dict> + <key>BuildPhases</key> + <array> + <dict> + <key>Class</key> + <string>Sources</string> + </dict> + <dict> + <key>Class</key> + <string>Frameworks</string> + </dict> + <dict> + <key>Class</key> + <string>Resources</string> + </dict> + </array> + + <key>ProductType</key> + <string>com.apple.product-type.application</string> + + <key>SharedSettings</key> + <dict> + <key>INFOPLIST_FILE</key> + <string>___PACKAGENAME___/___PACKAGENAME___-Info.plist</string> + </dict> + </dict> + </array> + </dict> +</plist> diff --git a/tools/xcode/templates/SFML/SFML CLT.xctemplate/TemplateIcon.icns b/tools/xcode/templates/SFML/SFML CLT.xctemplate/TemplateIcon.icns Binary files differnew file mode 100644 index 0000000..477431b --- /dev/null +++ b/tools/xcode/templates/SFML/SFML CLT.xctemplate/TemplateIcon.icns 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 @@ +<?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"> + +<!-- +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. +--> + +<!-- + This template can create a SFML 2.0 Command Line Tool project. + --> + +<plist version="1.0"> + <dict> + <!-- + BASIC INFO + --> + <key>Identifier</key> + <string>org.sfml-dev.clt</string> + + <key>Concrete</key> + <true /> + + <key>Description</key> + <string>This template creates a SFML Command Line Tool.</string> + + <key>Kind</key> + <string>Xcode.Xcode3.ProjectTemplateUnitKind</string> + + <key>Ancestors</key> + <array> + <string>org.sfml-dev.base</string> + <string>org.sfml-dev.compiler</string> + <string>org.sfml-dev.linker</string> + </array> + + <!-- + FILES + --> + <key>Nodes</key> + <array> + <string>main.cpp</string> + <string>cute_image.jpg</string> + <string>nice_music.ogg</string> + <string>sansation.ttf</string> + <string>icon.png</string> + </array> + + <!-- + DEFINITIONS + --> + <key>Definitions</key> + <dict> + <!-- MAIN --> + <key>main.cpp</key> + <dict> + <key>Path</key> + <string>main.cpp</string> + </dict> + + <!-- RESOURCES --> + <key>cute_image.jpg</key> + <dict> + <key>Path</key> + <string>cute_image.jpg</string> + <key>Group</key> + <string>Resources</string> + </dict> + + <key>nice_music.ogg</key> + <dict> + <key>Path</key> + <string>nice_music.ogg</string> + <key>Group</key> + <string>Resources</string> + </dict> + + <key>sansation.ttf</key> + <dict> + <key>Path</key> + <string>sansation.ttf</string> + <key>Group</key> + <string>Resources</string> + </dict> + + <key>icon.png</key> + <dict> + <key>Path</key> + <string>icon.png</string> + <key>Group</key> + <string>Resources</string> + </dict> + </dict> + + <!-- + TARGET + --> + <key>Targets</key> + <array> + <dict> + <key>BuildPhases</key> + <array> + <dict> + <key>Class</key> + <string>Sources</string> + </dict> + <dict> + <key>Class</key> + <string>Frameworks</string> + </dict> + </array> + + <key>ProductType</key> + <string>com.apple.product-type.tool</string> + </dict> + </array> + </dict> +</plist> + diff --git a/tools/xcode/templates/SFML/SFML CLT.xctemplate/cute_image.jpg b/tools/xcode/templates/SFML/SFML CLT.xctemplate/cute_image.jpg Binary files differnew file mode 100644 index 0000000..20724fa --- /dev/null +++ b/tools/xcode/templates/SFML/SFML CLT.xctemplate/cute_image.jpg diff --git a/tools/xcode/templates/SFML/SFML CLT.xctemplate/icon.png b/tools/xcode/templates/SFML/SFML CLT.xctemplate/icon.png Binary files differnew file mode 100644 index 0000000..ef62688 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML CLT.xctemplate/icon.png 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 <SFML/Audio.hpp> +#include <SFML/Graphics.hpp> + +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 Binary files differnew file mode 100644 index 0000000..f764d61 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML CLT.xctemplate/nice_music.ogg diff --git a/tools/xcode/templates/SFML/SFML CLT.xctemplate/sansation.ttf b/tools/xcode/templates/SFML/SFML CLT.xctemplate/sansation.ttf Binary files differnew file mode 100644 index 0000000..d85fbc8 --- /dev/null +++ b/tools/xcode/templates/SFML/SFML CLT.xctemplate/sansation.ttf 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 @@ +<?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"> + +<!-- +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. + --> + +<!-- + This template defines : + - the compiler & std lib + - the supported arch + - some other target's settings (e.g. warnings flags) + - the search paths + --> + +<plist version="1.0"> + <dict> + <!-- + BASIC INFO + --> + <key>Identifier</key> + <string>org.sfml-dev.compiler</string> + + <key>Kind</key> + <string>Xcode.Xcode3.ProjectTemplateUnitKind</string> + + <!-- + OPTIONS + --> + <key>Options</key> + <array> + <dict> + <key>Identifier</key> + <string>compilerSettingsType</string> + + <key>Name</key> + <string>[ADVANCED] C++ Compiler and Standard Library</string> + + <key>Description</key> + <string>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 !</string> + + <key>Default</key> + <string>C++98 with Clang and libstdc++</string> + + <key>NotPersisted</key> + <true /> + + <key>Type</key> + <string>popup</string> + + <key>Units</key> + <dict> + <!-- Use GCC and libstdc++ --> + <key>C++98 with GCC and libstdc++ and target 10.5</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>GCC_VERSION</key> + <string>com.apple.compilers.llvmgcc42</string> + + <key>MACOSX_DEPLOYMENT_TARGET</key> + <string>10.5</string> + </dict> + </dict> + + <key>Targets</key> + <array> + <dict> + <key>Frameworks</key> + <array> + <string>Foundation</string> + </array> + </dict> + </array> + </dict> + + <!-- Use Clang and libstdc++ --> + <key>C++98 with Clang and libstdc++</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>GCC_VERSION</key> + <string>com.apple.compilers.llvm.clang.1_0</string> + + <key>CLANG_CXX_LANGUAGE_STANDARD</key> + <string>c++98</string> + + <key>CLANG_CXX_LIBRARY</key> + <string>libstdc++</string> + </dict> + </dict> + </dict> + + <!-- Use Clang and libc++ --> + <key>C++11 with Clang and libc++</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>GCC_VERSION</key> + <string>com.apple.compilers.llvm.clang.1_0</string> + + <key>CLANG_CXX_LANGUAGE_STANDARD</key> + <string>c++0x</string> + + <key>CLANG_CXX_LIBRARY</key> + <string>libc++</string> + </dict> + </dict> + </dict> + </dict> + </dict> + + <dict> + <key>Identifier</key> + <string>archType</string> + + <key>Name</key> + <string>[ADVANCED] Architectures</string> + + <key>Description</key> + <string>Choose which architecture(s) you want to support</string> + + <key>Default</key> + <string>Universal</string> + + <key>NotPersisted</key> + <true /> + + <key>Type</key> + <string>popup</string> + + <key>Units</key> + <dict> + <!-- Support 32 + 64 bits --> + <key>Universal</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>ARCHS</key> + <string>$(ARCHS_STANDARD_32_64_BIT)</string> + </dict> + </dict> + </dict> + + <!-- Support 64 bits --> + <key>64 bits</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>ARCHS</key> + <string>$(ARCHS_STANDARD_64_BIT)</string> + </dict> + </dict> + </dict> + + <!-- Support 32 bits --> + <key>32 bits</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>ARCHS</key> + <string>$(ARCHS_STANDARD_32_BIT)</string> + </dict> + </dict> + </dict> + </dict> + </dict> + </array> + + <!-- + SETTINGS + --> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict + <!-- PLATFORM --> + <key>SUPPORTED_PLATFORMS</key> + <string>macosx</string> + + <!-- WARNINGS --> + <!-- TODO add more warnings --> + <key>GCC_WARN_ABOUT_RETURN_TYPE</key> + <string>YES</string> + <key>GCC_WARN_UNINITIALIZED_AUTOS</key> + <string>YES</string> + <key>GCC_WARN_UNUSED_VARIABLE</key> + <string>YES</string> + <key>CLANG_WARN__DUPLICATE_METHOD_MATCH</key> + <string>YES</string> + <key>CLANG_WARN_EMPTY_BODY</key> + <string>YES</string> + + <!-- SERACH PATHS --> + <key>FRAMEWORK_SEARCH_PATHS</key> + <string> /Library/Frameworks/ $(inherited) </string> + + <key>HEADER_SEARCH_PATHS</key> + <string> /usr/local/include/ $(inherited) </string> + + <key>LIBRARY_SEARCH_PATHS</key> + <string> /usr/local/lib/ $(inherited) </string> + </dict> + + <key>Configurations</key> + <dict> + <key>Debug</key> + <dict> + <key>GCC_OPTIMIZATION_LEVEL</key> + <string>0</string> + + <key>GCC_PREPROCESSOR_DEFINITIONS</key> + <string>DEBUG=1 $(inherited)</string> + + <!-- ALWAYS compile for all arch. --> + <key>ONLY_ACTIVE_ARCH</key> + <string>NO</string> + </dict> + + <key>Release</key> + <dict> + <key>COPY_PHASE_STRIP</key> + <string>YES</string> + + <!-- ALWAYS compile for all arch. --> + <key>ONLY_ACTIVE_ARCH</key> + <string>NO</string> + </dict> + </dict> + </dict> + + <!-- + TARGET + --> + <key>Targets</key> + <array> + <dict> + <key>Name</key> + <string>___PACKAGENAME___</string> + + <key>SharedSettings</key> + <dict> + <key>PRODUCT_NAME</key> + <string>$(TARGET_NAME)</string> + </dict> + + <key>Configurations</key> + <dict> + <key>Debug</key> + <dict /> + <key>Release</key> + <dict /> + </dict> + </dict> + </array> + </dict> +</plist> 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 @@ +<?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"> + +<!-- +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. +--> + +<!-- + This template defines : + - whether the project uses dylibs or frameworks + - which modules are used + - how the project links against those modules + --> + +<plist version="1.0"> + <dict> + <!-- + BASIC INFO + --> + <key>Identifier</key> + <string>org.sfml-dev.linker</string> + + <key>Kind</key> + <string>Xcode.Xcode3.ProjectTemplateUnitKind</string> + + <!-- + OPTIONS + --> + <key>Options</key> + <array> + <!-- BINARY TYPE --> + <dict> + <key>Identifier</key> + <string>binaryType</string> + + <key>Name</key> + <string>[ADVANCED] SFML binaries</string> + + <key>Description</key> + <string>Choose between dylibs and frameworks. If you're not sure, keep the default value.</string> + + <key>Default</key> + <string>Frameworks</string> + + <key>NotPersisted</key> + <true /> + + <key>Type</key> + <string>popup</string> + + <key>Units</key> + <dict> + <!-- Use frameworks --> + <key>Frameworks</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>SFML_BINARY_TYPE</key> + <string>FRAMEWORKS</string> + + <key>SFML_LINK_DYLIBS_SUFFIX</key> + <string></string> + </dict> + </dict> + </dict> + + <!-- Use dylibs --> + <key>Dylibs</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>SFML_BINARY_TYPE</key> + <string>DYLIBS</string> + + <key>SFML_LINK_DYLIBS_SUFFIX</key> + <string></string> + </dict> + </dict> + </dict> + + <!-- Use dylibs (debug) --> + <key>Dylibs (debug)</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>SFML_BINARY_TYPE</key> + <string>DYLIBS</string> + </dict> + + <key>Configurations</key> + <dict> + <key>Debug</key> + <dict> + <key>SFML_LINK_DYLIBS_SUFFIX</key> + <string>-d</string> + </dict> + + <key>Release</key> + <dict> + <key>SFML_LINK_DYLIBS_SUFFIX</key> + <string></string> + </dict> + </dict> + </dict> + </dict> + </dict> + </dict> + + <!-- WINDOW MODULE --> + <dict> + <key>Identifier</key> + <string>windowModule</string> + + <key>Name</key> + <string>Use window module</string> + + <key>Description</key> + <string>Indicates whether window module should be used or not.</string> + + <key>Type</key> + <string>checkbox</string> + + <key>Default</key> + <string>true</string> + + <key>Units</key> + <dict> + <!-- WINDOW MODULE : YES --> + <key>true</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>SFML_WINDOW</key> + <string>$(SFML_LINK_PREFIX)sfml-window$(SFML_LINK_SUFFIX)</string> + </dict> + </dict> + </dict> + + <!-- WINDOW MODULE : NO --> + <key>false</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>SFML_WINDOW</key> + <string></string> + </dict> + </dict> + </dict> + </dict> + </dict> + + <!-- GRAPHICS MODULE --> + <dict> + <key>Identifier</key> + <string>graphicsModule</string> + + <key>Name</key> + <string>Use graphics module</string> + + <key>Description</key> + <string>Indicates whether graphics module should be used or not.</string> + + <key>RequiredOptions</key> + <dict> + <key>windowModule</key> + <string>true</string> + </dict> + + <key>Type</key> + <string>checkbox</string> + + <key>Default</key> + <string>true</string> + + <key>Units</key> + <dict> + <!-- GRAPHICS MODULE : YES --> + <key>true</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>SFML_GRAPHICS</key> + <string>$(SFML_LINK_PREFIX)sfml-graphics$(SFML_LINK_SUFFIX)</string> + </dict> + </dict> + </dict> + + <!-- GRAPHICS MODULE : NO --> + <key>false</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>SFML_GRAPHICS</key> + <string></string> + </dict> + </dict> + </dict> + </dict> + </dict> + + <!-- AUDIO MODULE --> + <dict> + <key>Identifier</key> + <string>audioModule</string> + + <key>Name</key> + <string>Use audio module</string> + + <key>Description</key> + <string>Indicates whether audio module should be used or not.</string> + + <key>Type</key> + <string>checkbox</string> + + <key>Default</key> + <string>true</string> + + <key>Units</key> + <dict> + <!-- AUDIO MODULE : YES --> + <key>true</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>SFML_AUDIO</key> + <string>$(SFML_LINK_PREFIX)sfml-audio$(SFML_LINK_SUFFIX)</string> + </dict> + </dict> + </dict> + + <!-- AUDIO MODULE : NO --> + <key>false</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>SFML_AUDIO</key> + <string></string> + </dict> + </dict> + </dict> + </dict> + </dict> + + <!-- NETWORK MODULE --> + <dict> + <key>Identifier</key> + <string>networkModule</string> + + <key>Name</key> + <string>Use network module</string> + + <key>Description</key> + <string>Indicates whether network module should be used or not.</string> + + <key>Type</key> + <string>checkbox</string> + + <key>Default</key> + <string>true</string> + + <key>Units</key> + <dict> + <!-- NETWORK MODULE : YES --> + <key>true</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>SFML_NETWORK</key> + <string>$(SFML_LINK_PREFIX)sfml-network$(SFML_LINK_SUFFIX)</string> + </dict> + </dict> + </dict> + + <!-- NETWORK MODULE : NO --> + <key>false</key> + <dict> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <key>SFML_NETWORK</key> + <string></string> + </dict> + </dict> + </dict> + </dict> + </dict> + </array> + + <!-- + SETTINGS + --> + <key>Project</key> + <dict> + <key>SharedSettings</key> + <dict> + <!-- Define some prefixes and suffixes --> + <key>SFML_LINK_DYLIBS_PREFIX</key> + <string>-l</string> + + <key>SFML_LINK_FRAMEWORKS_PREFIX</key> + <string>-framework </string> + + <key>SFML_LINK_FRAMEWORKS_SUFFIX</key> + <string></string> + + <key>SFML_LINK_PREFIX</key> + <string>$(SFML_LINK_$(SFML_BINARY_TYPE)_PREFIX)</string> + + <key>SFML_LINK_SUFFIX</key> + <string>$(SFML_LINK_$(SFML_BINARY_TYPE)_SUFFIX)</string> + + <!-- SFML SYSTEM : always used --> + <key>SFML_SYSTEM</key> + <string>$(SFML_LINK_PREFIX)sfml-system$(SFML_LINK_SUFFIX)</string> + + <!-- LINKER FLAGS --> + <key>OTHER_LDFLAGS</key> + <string>$(inherited) $(SFML_SYSTEM) $(SFML_WINDOW) $(SFML_GRAPHICS) $(SFML_AUDIO) $(SFML_NETWORK)</string> + </dict> + </dict> + </dict> +</plist> + 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 <antognini.marco@gmail.com> 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. + + |