Introduction
This guide is designed to get you building OGRE from source with the default settings in the shortest possible time, showing you the barest minimum of CMake to do that, and minus any real discussion. Remember that there is a lot more to the hows and whys of this process, so it's a good idea to go back to the Getting Started With CMake page and read the whole thing when you have time.
We assume here that you've already downloaded / extracted the OGRE source code into a folder on your local machine. From here, go to the section for your platform.
Make sure that you've sorted out the Prerequisites before attempting to build Ogre with CMake!
Building Ogre via CMake GUI (see alt. command line below)
Xcode 4.3 changed the layout of developer tools on disk which can cause some serious problems for CMake. The issue has been fixed but is not yet publicly released. CMake 2.8.8 will include Xcode 4.3 support. At the time of writing, a release candidate is available that includes this support.
You will also need to install the Command Line Tools from within Xcode's Downloads Preferences and set the Xcode path from the command line like this.
Assuming that Xcode is installed in /Applications,
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
- Download CMake. You want the 'Mac OS X Universal' release in the binary distribution section
- The .dmg will probably auto-mount when it downloads, if not, double-click it to open
- Double-click the .pkg installer, install on your main drive and opt to install the command-line tools too (in case you want to use them later, we will use the GUI here)
- Launch CMake via Applications
- In the "Where is the source code" box, type or browse to the root directory of your OGRE source (the one that contains the OgreMain folder)
- In the "Where to build the binaries" box, type or browse to any folder you like - this will be where the build output will go (libraries, headers, dlls & sample exes). The folder does not have to exist yet. Note that you can run this process more than once with different output folders if you want (but we won't complicate matters now)
- Hit the 'Configure' button near the bottom of the screen
- Pick 'Xcode' as the generator and opt to use native compilers
- Answer 'Ok' when asked if you want to create the build directory
- Wait for the configure process to finish
- The screen will now have a bunch of configuration options on it, which will be red (this is to indicate this is the first time you've seen them). You can see the potential for customising your build here, but for now just click the 'Configure' button again
- The values will turn grey, and the 'Generate' button at the bottom will now be enabled. Click 'Generate'
- Build files will now be generated in the location you picked
- Now, open OGRE.xcodeproj in the build directory you picked, open it in Xcode. SampleBrowser will build everything!
Note: ALL_BUILD does not work properly with Xcode 4.
Building Ogre via Command Line (see alt. GUI method above)
- Download Ogre Source (Instructions below assume current version of 1.8.0, update as needed)
- Decompress:Copy to clipboardtar xjf ogre_src_v1-8-0.tar.bz2
- Move to source directory:Copy to clipboardcd ogre_src_v1-8-0
- Create build directory:Copy to clipboardmkdir build
- Move into build directory:Copy to clipboardcd build
- Trigger cmake, specify Xcode generation and pass path to Ogre source directory:See the Extensive CMake page for a list of compilation options which can be passed to CMake at this stage, and Getting Started With CMake for even more background material.Copy to clipboardcmake -GXcode ..
- Build via Xcode(or open OGRE.xcodeproj and build within Xcode)Copy to clipboardxcodebuild -configuration RelWithDebInfo
Installing Ogre
You will find Ogre.framework in 'lib' within your build directory. You can embed this in your application bundle, or drag it to /Library/Frameworks for system-wide installation.
You will also find plugins (Plugin_*.dylib and RenderSystem_GL.dylib) in the same location, you can copy these to the framework's Resource directory or your own application's bundle. Be sure to configure you applications' plugins.cfg to match (e.g. /Library/Frameworks/Ogre.framework/Resources/)