Table of contents ----------------- WARNING: Only intended for developers who'll build Speed Dreams from sources. I - Pre-requisites II - Linux Installation from sources 1 - Introduction 2 - Installation from the official tarballs 3 - Installation from SVN (developers only) 4 - Run Speed-Dreams 5 - Getting Help III - Windows Installation from sources 1 - Cmake and MS VC++ 2005 (8) / 2008 (9) on Windows XP 32 2 - MS VC++ 6 no more supported IV - FreeBSD Installation from sources (Work in progress) V - MacOS X installation from sources (TODO) I - Pre-requisites ------------------ - Working OpenGL Driver and header files / associated libraries - SDL 1.2 (http://www.libsdl.org/) - PLIB 1.8.3 / 4 / 5 (http://plib.sourceforge.net/). Linux: Be carefull to compile plib with -fPIC on AMD64 if you run a 64 bit version. - OpenAL soft 1.5 / 1.6 / 1.11 (http://connect.creativelabs.com/openal) (Torcs modified 0.0.8 from www.torcs.org also used to work in the past). - ENet 1.2 (http://enet.bespin.org) Linux: Be carefull to compile ENet with -fPIC on AMD64 if you run a 64 bit build. - libpng - zlib - jpeg WARNING: On Windows, be carefull to compile anything for multi-threaded DLL integration (/MD & /MDd) II - Linux installation from sources ------------------------------------ 1 - Introduction There are 2 ways to build and install Speed Dreams from sources : - from the official source tarballs, - from the subversion repository. Pick only one of the above options. If you have trouble during the installation, have a look in the FAQ on the above sites. In case you get stuck, please learn how to report the problem in the FAQ before filing a bug or contact us. Have fun, The Speed Dreams Team. 2 - Installation from the official tarballs a - get these tarballs : please go to our SF.net download page at http://sourceforge.net/projects/speed-dreams/files/2.0.0, and you should find : speed-dreams-src-base-.tar.xz speed-dreams-src-hq-cars-and-tracks-.tar.xz speed-dreams-src-more-hq-cars-and-tracks-.tar.xz speed-dreams-src-wip-cars-and-tracks-.tar.xz where is something like "2.0.0-rc1-r4420", "2.0.0-r45xx", ... Warning: you must download them all, as our current build system can't cope with missing files. Let's say you downloaded them all in $HOME/sd, and that is 2.0.0-rc1-r4420. (you can do as you like, but we'll use this folder in the explanations below). b - uncompress the 4 tarballs : $ cd $HOME/sd $ mkdir 2.0.0-rc1-r4420 $ cd 2.0.0-rc1-r4420 $ for file in *.xz; do tar xvfa $file; done You should now see "cmake", "data" and "src" folders (among others). c - configure : 1. create the build dir for CMake $ mkdir build $ cd build 2. run CMake : - for a Release build using default 3rd party libs $ cmake -D OPTION_OFFICIAL_ONLY:BOOL=ON .. Note: This "OFFICIAL_ONLY" stuff is mandatory, otherwise you'll get errors saying that some (unofficial contents) folders are missing, just because the official tarballs don't include them. - you may also want to override some default settings : for that, you can use the -D option of cmake : Example : $ cmake -D SD_LOCALDIR:STRING=~/dev/.sd-settings \ -D CMAKE_PREFIX_PATH:STRING=/usr/local -D CMAKE_BUILD_TYPE:STRING=Debug or else you can use ccmake to change the variables interactively : $ ccmake .. * press (t) for advanced options if needed * in order to change a variable : * select the associated line using the up/down arrow keys * press (enter) * edit the value * press (enter) * press (c) for configure * press (g) for generate * press (e) to exit Usefull CMake variables for Speed Dreams (note that some might be "advanced" ones) : - CMAKE_BUILD_TYPE:STRING : Debug, Release, RelWithDebInfo, MinSizeRel (def: Release) - OPTION_OFFICIAL_ONLY:BOOL : Build/install only official contents (def: OFF) - SD_LOCALDIR:STRING : User settings dir for run-time (def: ~/.speed-dreams-2) - CMAKE_PREFIX_PATH:STRING : Path prefixes for additional 3rdParty libraries (def:empty) (use /usr/local if you compiled some 3rdParty libs yourself). - CMAKE_INSTALL_PREFIX:PATH : Install path for Speed Dreams (def: /usr/local) - OPTION_TRACE:BOOL : Full run-time traces if ON (def: ON) - OPTION_TRACE_LEVEL:STRING : Run-time traces level integer threshold, only if OPTION_DEBUG (traces with higher level are not logged ; 0=Fatal, 1=Error, 2=Warning, 3=Info, 4=Trace, 5=Debug, ...) (def: 5) - OPTION_UNLOAD_SSGGRAPH:BOOL : The 'ssggraph' graphics engine module will never be unloaded if OFF (def: ON) Usefull under some Linux configurations where this unloading badly crashes XOrg (see http://sourceforge.net/apps/trac/speed-dreams/ticket/209), or simply makes SD crash because PLib is shipped as a set of shared libraries (see http://sourceforge.net/apps/trac/speed-dreams/ticket/459). - OPTION_DEBUG:BOOL : Enable debug symbols even in Release builds (def: ON) Tips reported about some issues : - sometimes, ENET_INCLUDE_DIR is not detected correctly, resulting in something like /usr/include/enet or so, and, consequently, in bad compilation errors because /usr/include/enet contains a special time.h header file that conflicts with the standard one in /usr/include. Removing the "enet" postfix from ENET_INCLUDE_DIR should fix this (in cmake command line or interactively through ccmake). d - build: $ make e - install: $ sudo make install Notes: * sudo is only useful if your install PREFIX is a read-only folder (like default /usr/local) * sudo configuration : you may ask your system administrator to enable you to run 'sudo make install' ; if he doesn't know how, you can tell him/her to add a line like this in /etc/sudoers (or something less permissive ;-) : ALL=(ALL) NOPASSWD: ALL 3 - Installation from SVN Before you start, be aware that the SVN trunk / branches might crash or even not compile sometimes. If you want to get it anyway, follow the instructions at http://sourceforge.net/svn/?group_id=239111 For the moment, - the developments for the next release are located in the trunk ; you can checkout the current _development_ state through : $ svn co https://speed-dreams.svn.sourceforge.net/svnroot/speed-dreams/trunk sd-trunk - we make branches under the "branches" root dir ; as an exemple, you can get the "1.4.x" release maintenance branch current state through : $ svn co https://speed-dreams.svn.sourceforge.net/svnroot/speed-dreams/branches/1.4.x sd-1.4.x - we make release tags under the "tags" root dir ; as an exemple, you can get the "2.0.0 RC 1" pre-release through : $ svn co https://speed-dreams.svn.sourceforge.net/svnroot/speed-dreams/tags/2.0.0-rc1 sd-2.0.0-rc1 See configure, build and install method above (2) (note however that branches/1.4.x and tags/1.4.0 are not built through cmake : please refer to the dedicated INSTALL file for these). 4 - Run Speed-Dreams If the default CMake settings were kept, Speed Dreams is normally installed in /usr/local : $ speed-dreams-2 or, if /usr/local/games not already in your PATH : $ /usr/local/games/speed-dreams-2 Runtime options : $ speed-dreams-2 --help 5 - Getting Help From inside the game, press F1 at any time, you'll get a help page explaining the available keyboard shorcuts. If you are stuck please report problems through speed-dreams-users mailing list or our bug tracker at http://sourceforge.net/apps/trac/speed-dreams/report. II - Windows installation from sources --------------------------------------- 1) Cmake and MinGW : We want it ! Who can help us in this MinGW porting work :-? 2) Cmake and MS VC++ 2005 (8) / 2008 (9) / 2010 (10) on Windows XP 32 Note: If you use an "Express" version, don't forget to install also the Windows SDK. a. Install CMake v2.6+ http://www.cmake.org/cmake/resources/software.html b. Download the 4 official tarballs from SF.net http://sourceforge.net/projects/speed-dreams/files/2.0.0 (speed-dreams-src--.tar.xz) c. Extract their contents to your local disk (7Zip is an excellent tool for that), all in the same target folder. Warning: You need to extract all of the source packages in order to start building (see ablove 2-a chapter for more). d. Download the "MSVC 2005" release of the "3rdParty" package on SF.net http://sourceforge.net/projects/speed-dreams/files/3rd%20party (it contains necessary 3rd party libs compiled with/for MSVC 2005) e. Extract from the zip file the "3rdParty" directory to where speed-dreams sources are installed. Example: If sources are in c:\gamesources\speed-dreams\src-2.0.0 (inside which you should find at least the "src" and "data" folders), then extract 3rd party zip in c:\gamesources\speed-dreams\3rdParty (inside which you should find at least the "include" and "lib" folders), f. Startup CMake and set : * "Where is the source code" to c:\gamesources\speed-dreams\src-2.0.0 * "Where to build the binaries" to c:\gamesources\speed-dreams\src-2.0.0\build (if you follow the folder specs above). g. Press "Configure" button, answer "Yes, create the ...\build folder" and select the compiler. Press the "Configure" button again, until the "OK" button is no more greyed. h. Press the "Generate" button. CMake will generate the solution file "speed-dreams-2.sln" and associated project files (*.vcproj) in the ...\build folder (Note : .sln/.vcproj are OK for MSVC 2005, but you might get other files extensions the later MSVC versions). i. Load speed-dreams-2.sln in MSVC IDE. j. Select the build configuration (Debug, Release, ...). k. Build the whole Solution (Build / Build Solution) l. Build the 'INSTALL' project (right click on it and select Build). m. Double-click on speed-dreams-2.exe in c:\Program Files\speed-dreams-2\bin Note: First-ever startups sometimes fail to correctly write the necessary stuff into \speed-dreams-2.settings and this prevents the game from starting. If this happens, simply remove the \speed-dreams-2.settings folder with Windows explorer, and restart the game : it should now work. Note: This should also work with MSVC 2008/2010. For MSVC 2003, you'll probably need to rebuild a dedicated 3rdParty package for this compiler Note : If you need to recompile the 3rdParty package from sources, (the "Sources" release of the "3rdParty" package on SF.net Download page) be carefull then to rebuild : - everything possible - for the same configuration (don't mix Release and Debug) - everything for multithreaded DLL integration (/MD & /MDd), ... or be ready for headaches, and no support at all ;-) 3) MS VC++ 6 : No more supported. III - FreeBSD installation from sources --------------------------------------- Mostly the same as for "Linux installation from sources" ... Some specific details though : 2 - Installation from official tarballs b - build and install: 1. cd $HOME/sd/2.0.0-rc1/build 2. ccmake .. 3. press (t) for advanced options 4. wanted rows CMake CPPFLAGS 5. press (enter) 6. add /usr/local/include 7. press (enter) 8. press (c) for configure 9. press (g) for generate and press (e) 10. make && sudo make install TO BE COMPLETED IV - MacOS X installation from sources -------------------------------------- To do ...