Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changes between Version 73 and Version 74 of dev/MacOSX


Ignore:
Timestamp:
Apr 28, 2011, 10:07:18 AM (13 years ago)
Author:
youngk
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • dev/MacOSX

    v73 v74  
    77Here'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).
    88
    9 == Current Status (as of March 26th, 2011) ==
     9== Current Status (as of April 28, 2011) ==
    1010
    11 Xcode 4 has been released, and Orxonox builds well with it too; even though you always have to select the target "ALL_BUILD" manually - we don't know why. Even more progress: Orxonox is now integrated into Cocoa, which means we have (at least for development purposes) a runnable App-Bundle. Once Orxonox has been built on your Mac, you can start it from the root of your build directory! Ooooh, and it has a nice icon too (thanks to [wiki:DamianFrick Mozork])! Orxonox builds perfectly (with a few warnings) on Mac OS X 10.6, either with Xcode or with makefiles. We were although not able to test Orxonox on 10.5 machines, please try if you have Leopard. Dependency package is available down below for you to try out. Note that the svn trunk currently does not compile on OS X.
     11Finally! After about 8 months of development on Mac OS X, we have '''trunk compatibility'''. Getting the game to run has been simplified substantially: just do a checkout of the svn trunk (both source and data - detailed directions in the following sections). '''You don't actually need to download the dependencies by yourself, it's done automagically.'''
    1212
    13 Currently, there are two possibilities of building Orxonox: Using either the kicklib, or the mac_osx branch (each of them has their own dependency package version, so be aware):
    14 
    15 {{{https://svn.orxonox.net/game/code/branches/mac_osx}}}
    16 {{{https://svn.orxonox.net/game/code/branches/kicklib}}}
    17 
    18 The kicklib branch mainly features less library trouble, quite a bit of stability improvement and fixing of a couple of warnings and errors.
     13Old info: Xcode 4 has been released, and Orxonox builds well with it too; even though you always have to select the target "ALL_BUILD" manually - we don't know why. Even more progress: Orxonox is now integrated into Cocoa, which means we have (at least for development purposes) a runnable App-Bundle. Once Orxonox has been built on your Mac, you can start it from the root of your build directory! Ooooh, and it has a nice icon too (thanks to [wiki:DamianFrick Mozork])! Orxonox builds perfectly (with a few warnings) on Mac OS X 10.6, either with Xcode or with makefiles. We were although not able to test Orxonox on 10.5 machines, please try if you have Leopard. Dependency package is available down below for you to try out.
    1914
    2015For Leopard (10.5) users: We've resolved the trouble with lua, but now ogg and vorbis are giving us a hard time in terms of downwards compatibility. Please follow the building guide at [http://www.orxonox.net/wiki/MacOSXDependencies "Dependencies for Mac OS X"], to build ogg and vorbis yourself.
     
    2217== Nice To Know ==
    2318
    24 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.
     19Porting Orxonox to Mac OS X has taken very long now and it wouldn't have been possible without the help of the community ([wiki:RetoGrieder 1337], [wiki:FabianLandau x3n], [wiki:DamianFrick Mozork] and many others). Although you can play Orxonox very well on the Mac, there is still a myriad of things that can and do go wrong - we'll be fixing those as we progress. One of the nicer new features is the addition of '''Cg shaders''' to Orxonox - maybe someone will manage to make a tutorial on that matter. And of course: we'll make a distributable Mac OS X bundle as soon as possible.
    2520
    2621== Prerequisites ==
     
    2823Lets 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:
    2924 * Xcode (Download version 3 for free from: [http://developer.apple.com/technologies/xcode.html "Apple Developer Connection"]. But its highly recommended to buy Xcode 4 via the AppStore (five bucks), because its just so much better than the old Xcode3.
    30  * 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])
     25 * Cmake (You need at least 2.8.4. Get the prebuilt dmg-Image for Mac OS X: [http://www.cmake.org/cmake/resources/software.html Cmake])
    3126
    3227For Xcode 3 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.
     
    3631Important Note: Currently, you CANNOT place your orxonox files on a path with white-spaces in it! Due to the fact that the entire Orxonox build structure  will not tolerate whitespaces, we will not try to implement it at all. Sorry - you'll just have to build Orxonox in folders without spaces. ;-)
    3732
    38 Once you have your Xcode set up, 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]
     33Once you have your Xcode set up, 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], or enter the following into your Terminal (without the dollar sign!):
     34{{{
     35$ mkdir -p ~/Development/Prxonox
     36$ cd ~/Development/Orxonox
     37$ svn co https://svn.orxonox.net/game/code/trunk
     38$ svn co https://svn.orxonox.net/game/data/trunk data_extern
     39$ mkdir trunk/build
     40}}}
    3941
    4042Xcode 4 automatically integrates with our svn repo! How cool is that!
     
    4749== Dependencies ==
    4850
    49 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. NOTE: No need to install the dependencies anymore. Everything's done automatically.
     51Orxonox 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. '''NOTE: No need to download, or install the dependencies anymore. Everything's done automatically. The following link is just for reference and in case something goes wrong.'''
    5052
    5153|| Dependency Package || Version || Size || Notes ||
    52 || [http://svn.orxonox.net/ogre/apple/precompiled_dependencies/OrxonoxDeps_110326_1.12_OSX.7z "Mac OS X"] || 1.12 || 10M || Package for kicklib branch ||
    53 || [http://svn.orxonox.net/ogre/apple/precompiled_dependencies/OrxonoxDeps_110418_1.101_OSX.7z "Mac OS X"] || 1.101 || 10M || Package for mac_osx branch||
     54|| [http://svn.orxonox.net/ogre/apple/precompiled_dependencies/OrxonoxDeps_110428_2.0_OSX.tar.bz2 "Mac OS X"] || 1.12 || 10M || Package for anything beyond kicklib2 ||
    5455
    5556=== Building the dependencies on your own ===
     
    8283
    8384== Building Orxonox ==
    84 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].
     85Once 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 "Configure", followed by "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].
    8586Otherwise 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 (Hopefully). Mind always keeping an eye on the "Current Status" section, for I will write there if you have to follow special instructions.
     87
     88'''Note to Xcode3 users:''' When compiling, you'll get a huge list of linker warnings of the sort {{{duplicate dyld}}}. Even though they're annoying, you can safely ignore them - they don't appear on Xcode4 anymore.
    8689
    8790== Debugging Orxonox ==
    8891Apple includes its own crash reporter that collects the call stack and additional information upon the crashing of an application. To make development a little easier, you will want to do the following things:
    8992
    90  * Open CrashReporterPrefs (just look for it in spotlight) and set the bulleted list to "Developer"
    91  * More to follow...
     93 * More to follow... (we're in the process of integrating our own crash reporter)