Changes between Version 11 and Version 12 of code/Buildsystem
- Timestamp:
- May 15, 2011, 3:50:47 AM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
code/Buildsystem
v11 v12 1 1 = The Orxonox Build System = 2 We use [http://www.cmake.org CMake] to configure the the compiler. CMake can either generate makefiles or project files (Visual Studio, KDevelop, Code::Blocks, etc.). There is more information on the CMake homepage. [[br]]3 Our '''CMake version''' requirement is '''2.6'''.2 We use [http://www.cmake.org CMake] to configure the build. It can either generate makefiles or project files (Visual Studio, KDevelop, Code::Blocks, etc.). More information on which generator they support can be found on their website. Orxonox officially supports UNIX makefiles, Code::Blocks projects, Visual Studio solutions and XCode project files. [[br]] 3 Our version requirement for CMake can be found in the root CMakeLists.txt (it will complain if your version is insufficient). 4 4 5 == Prerequisites ==6 Orxonox has of course some library dependencies which you will have to get yourself from the internet. If you are compiling on Windows however we strongly recommend to use precompiled archives, supplied on the [wiki:download] page because that will make your life a lot easier.[[br]]5 == Dependencies == 6 Orxonox has of course some library dependencies which you will have to get beforehand. If you are compiling on Windows or OS X, we strongly recommend to use our precompiled archives, supplied on the [wiki:download] page. These dependencies have been tested and compiled in an optimal way.[[br]] 7 7 This is a list of requirements: 8 || Library name || Minimum Version || 9 || OGRE 3D Graphics Engine || 1.4 || 10 || CEGUI (Crazy Eddie's GUI System) || 0.5 || 11 || Boost libraries || 1.35 || 12 || ENet (Network library) || 1.1 || 13 || Lua (scripting language) || 5.0 or 5.1 || 14 || Tcl (shell script language) || 8.4 or 8.5 || 15 || OpenAL (audio) || (not yet specified) || 16 || ALUT (audio) || (not yet specified) || 17 || LibOgg || (not yet specified) || 18 || LibVorbis || (not yet specified) || 19 || ZLib (compression) || (not yet specified) || 8 || Library name || Version requirements || 9 || OGRE 3D Graphics Engine || 1.6 - 1.7 || 10 || CEGUI (Crazy Eddie's GUI System) || 0.6 - 0.7 || 11 || Boost libraries || 1.40 - || 12 || Lua scripting language || 5.1 || 13 || Tcl shell script language || 8.4 - 8.5 || 14 || OpenAL (audio) || Any current version should work || 15 || ALUT (audio utilities) || Any current version should work || 16 || LibOgg || Any current version should work || 17 || LibVorbis || Any current version should work || 18 || ZLib compression library || Any current version should work || 20 19 [[br]] 21 On Windows, you will also have to have DirectX 9.0c installed. OGRE uses a DX SDK of different version, but you will find the DLLs in the precompiled archives (MSVC and MinGW version differ as well).20 On Windows, you will also need at least the DirectX 8 SDK (necessary parts in included in the dependency archives). 22 21 23 22 == CMake Basics == 24 Either you get yourself a GUI version ( I really recommend itif you haven't used CMake yet) or you use the command line version. [[br]]25 Generally speaking CMake will generate all files in a single directory tree called build (or binary) tree. That means your source tree doesn't get 'polluted' in any way. We recommend to make a directory in the source tree for the output. [[br]]23 Either you get yourself a GUI version (recommend if you haven't used CMake yet) or you use the command line version. [[br]] 24 Generally speaking, CMake will generate all needed files in a single directory tree called build (or binary) directory. That means your source tree doesn't get 'polluted' with unversioned files. We still recommend to make the build directory in the source tree for convenience though. [[br]] 26 25 In short for the command line version: 27 26 {{{ 28 ( sitting inyour checkout directory)27 (pwd is your checkout directory) 29 28 mkdir build 30 29 cd build … … 33 32 Why ".." in the subfolder? Because that's how CMake works. It will generate the output files in the current current directory, ".." only specifies our source tree (with a CMakeLists.txt file). [[br]] [[br]] 34 33 35 == Options ==34 == CMake Options == 36 35 Specifying them can either be done in the GUI very easily (please exclude the advanced entries) or on the command line with: 37 36 {{{ cmake -D MYVALUE=TRUE .. }}}