= Mac OS X = Here's how to get Orxonox up and running on Steve Jobs' operating system. We support anything from 10.5 (Leopard) upwards, while keeping in mind that Orxonox currently only runs in 32-bit mode. The following procedure was tested on Mac OS X 10.6.4 (Snow Leopard). == Current Status (as of November 30th, 2010) == Note: Proper update will follow soon. We're having trouble building Orxonox on Xcode, and running the game currently works only when manually adding some files. We were also not able to test Orxonox on 10.5 machines, please try if you have Leopard. When the game runs, CEGUI won't properly capture mouse input and resources aren't loaded properly either (and that includes the tcl console). Dependency package is available down below for you to try out. Note that the svn trunk currently does not compile on OS X. To compile Orxonox on the mac you need to check out the branch ois_update. {{{https://svn.orxonox.net/game/code/branches/ois_update}}} == Nice To Know == So far Orxonox ran only on Windows and Linux systems. Apple, as the third major OS player, opens yet another universe of possible problems for setting up, compiling and running Orxonox. Having a Unix kernel at its core, development isn't too different from Linux. However its structure and organization enforce much more strict adherence to rules than in any other operating system. Application structure and behavior are well-defined and the entire development framework on Apple builds on ease-of-use for the end-user, not the developer. == Prerequisites == Lets assume you have a more recent installation of OS X (i.e. whatever we support: >= 10.5). To get you started, we first need to set up your development environment: * Xcode (Download the latest version from: [http://developer.apple.com/technologies/xcode.html "Apple Developer Connection"]. You need to set up an account with them first.) * Cmake (You need at least 2.8.3. Get the prebuilt dmg-Image for Mac OS X: [http://www.cmake.org/cmake/resources/software.html Cmake]) For Xcode you need to make absolutely sure to select the "MacOSX10.4u.sdk" for installation, while running the Xcode installer. It's needed for compatibility reasons. === Source Files === Once that's done, you need to check out the source files and the dependency package. There are two possibilities to get the source files, either via Xcode or by using subversion in the terminal (/Applications/Utilities/Terminal). To get the files via subversion in the terminal, follow these directions: [http://www.orxonox.net/wiki/SVN Subversion] To get the files with Xcode, you first need to open Xcode (I'd recommend you drag the app from /Developer/Applications/Xcode to your dock). Navigate to the menu item "SCM" up top on the menu bar: {{{SCM -> Configure SCM repositories…}}}. Add a new repository by pressing the "+" sign on the left-bottom of the pop-up. Enter all information according to [http://www.orxonox.net/wiki/SVN Subversion]. Click "OK" and you're set. Next, navigate to {{{SCM -> Repositories}}}. Do a "Checkout" of code/trunk and data/trunk. That's it, you can quit Xcode once the downloads are done. === Dependencies === Orxonox has a pretty impressive list of dependencies and very few of them are pre-installed on our Apples. That's why we put together a package with precompiled dependencies for ease-of-use. Download below, extract it and place it into the directory where you have the data_extern and the trunk folders. || Dependency Package || Version || Size || || [http://svn.orxonox.net/ogre/apple/precompiled_dependencies/OrxonoxDeps_101130_1.0_OSX.7z "Mac OS X"] || 1.0 || 12M || For the suicidal ones, here's the dependency list, if you want to compile them yourself (files are preferentially dynamically linked): Please note though: Apple uses an "install name" for its libraries. Follow the CocoaDev guide to set these install names appropriately: [http://www.cocoadev.com/index.pl?ApplicationLinking "Application Linking"] || Library name || Minimum Version || Recommended Version || Notes || || [http://www.ogre3d.org/ "OGRE 3D Graphics Engine"] || 1.4 || 1.7.2 || || || [http://www.cegui.org.uk/wiki/index.php/Main_Page "CEGUI (Crazy Eddie's GUI System)"] || 0.5 || 0.6.2 || || || [http://www.boost.org/ "Boost libraries"] || 1.35 || 1.44 || Hint: Use MacPorts || || [http://enet.bespin.org/ "ENet (Network library)"] || 1.1 || - || Included in orxonox || || [http://www.lua.org/ "Lua (scripting language)"] || 5.0 or 5.1 || 5.1.4 || Hint: Use the patchfile located in the Tools directory of the dependency package. ($patch -p1 -i patchfile) inside source dir || || Tcl (shell script language) || 8.4 or 8.5 || - || Use Apple system version || || OpenAL (audio) || (not yet specified) || - || Use Apple system version || || ALUT (audio) || (not yet specified) || - || Can't be compiled on Apple. Use dummy package included in dependency package || || [http://www.xiph.org/vorbis/ "LibOgg"] || (not yet specified) || 1.2.1 || || || [http://www.xiph.org/vorbis/ "LibVorbis"] || (not yet specified) || 1.3.2 || || || [http://www.xiph.org/vorbis/ "LibVorbisFile"] || (not yet specified) || 1.3.2 || Comes with LibVorbis || || ZLib (compression) || (not yet specified) || - || Use Apple system version || Apple Mac OS X uses the following library paths: * /usr * /usr/local * /opt/local (MacPorts source distribution: [http://www.macports.org/ MacPorts]) * /sw (Fink binary distribution: [http://www.finkproject.org/ Fink]) * /Library/Frameworks (for Apple frameworks; dynamically linked and self-contained structures. See [http://developer.apple.com/library/mac/#documentation/CoreFoundation/Conceptual/CFBundles/ CFBundles] for information.) * ~/Library/Frameworks * /System/Library/Frameworks * /Developer/Library/Frameworks == Building Orxonox == Once you have everything in place, fire up Cmake. Choose your source and build directories and click "Configure". Choose either Xcode or Makefiles as build mode, whichever suits your preferences. Check the correct locations of the dependencies and make sure you're using the right Apple SDK (MacOSX10.5.sdk or MacOSX10.6.sdk) and then click "Generate". In case you're using Makefiles as build mode, you can just follow the normal steps to compile Orxonox: [http://www.orxonox.net/wiki/Buildsystem Buildsystem]. Otherwise switch to Xcode, open up the "Orxonox.xcodeproj" file inside your build directory and hit "Build". Let it simmer, while stirring the soup from time to time, and you're set to play the game.