speed-dreams/INSTALL.txt

305 lines
11 KiB
Plaintext

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 all-in-one tarball
3 - Installation from SVN (developer level 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
------------------
WARNING: On Windows, be carefull to compile anything for multithreaded DLL integration (/MD & /MDd)
- 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 version.
- libpng
- zlib
- jpeg
II - Linux installation from sources
----------------------------------
1 - Introduction
There are several ways to build and install Speed Dreams:
- from the all-in-one tarball.
- from SVN (just for developers!).
Pick just 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 all-in-one tarball
a - get the all-in-one source tarball : please go to our SF.net download page :
http://sourceforge.net/projects/speed-dreams/files/2.0.0
you should find some speed-dreams-2.0.0-xxx-src.tar.7z archive :-)
b - uncompress the tarball :
. if bzip2-compressed (the old way) :
$ tar xfvj speed-dreams-xxx.tar.bz2
. if 7z-compressed (the new way) :
$ 7zr x -so speed-dreams-xxx.tar.7z | tar xvf -
c - configure :
1. cd to the path where Speed Dreams sources are installed.
$ cd <speed-dreams-source-tree>
(ls should show you data/ doc/ src/ INSTALL ...)
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 all-in-one tarball
does not includes 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 :
- CMAKE_BUILD_TYPE:STRING :
Debug, Release, RelWithDebInfo, MinSizeRel (def: Release)
- OPTION_OFFICIAL_ONLY:BOOL :
Build/install only official contents (def: OFF)
- 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 :
Debug symbols even in Release builds if ON (def: ON)
- 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 (def: /usr/local)
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 ;-) :
<your login name> ALL=(ALL) NOPASSWD: ALL
3 - Installation from SVN (developer level only !)
Before you start, make you 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 speed-dreams-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 speed-dreams-1.4.x
- we make release tags under the "tags" root dir ; as an exemple,
you can get the "2.0.0 Beta 1" pre-release through :
svn co https://speed-dreams.svn.sourceforge.net/svnroot/speed-dreams/tags/2.0.0-b1 speed-dreams-2.0.0-b1
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
-m Use hardware mouse cursor (better on full-screen mode)
5 - Getting Help
During the game, press F1 at any time.
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) 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 all-in-one source tarball from SF.net
http://sourceforge.net/projects/speed-dreams/files/2.0.0
(speed-dreams-2.0.0-xxx-src.tar.7z)
c. Extract its contents to your local disk (7Zip is an excellent tool for that).
d. Download the "MSVC 2005" release of the "3rdParty" package on SF.net
http://sourceforge.net/project/showfiles.php?group_id=239111
(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\2.0.0-b1,
then extract 3rd party zip in c:\ => c:\gamesources\3rdParty
f. Startup CMake and set "Where is the source code" and "Where to build the binaries"
to the path where Speed-Dreams sources are installed.
Example: If sources are in c:\gamesources\speed-dreams\2.0.0-b1,
specify c:\gamesources\speed-dreams\2.0.0-b1 for the 2 fields.
g. Press "Configure" button and select the desired 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.sln"
and associated project files (*.vcproj)
i. Load speed-dreams.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 necesary stuff
into <My documents>\speed-dreams-2.settings and this prevents the game from starting.
If this happens, simply remove the <My documents>\speed-dreams-2.settings folder
with Windows explorer, and restart the game : it should now work.
Note: This should also work with MSVC 2008. 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.
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 all-in-one Tarball
b - build and install:
1. cd to the path where Speed-Dreams sources are installed.
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 ...