Difference between revisions of "Compiling"
(→Ubuntu) |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 53: | Line 53: | ||
The required libraries include: | The required libraries include: | ||
− | |||
* [http://bulletphysics.org/wordpress/ Bullet] - Open Source Physics Library (minimum version 2.83). Only the following libraries are required: | * [http://bulletphysics.org/wordpress/ Bullet] - Open Source Physics Library (minimum version 2.83). Only the following libraries are required: | ||
** BulletCollision | ** BulletCollision | ||
Line 60: | Line 59: | ||
* [http://curl.haxx.se/ libcurl] - Multiprotocol file transfer library (minimum version 7.21.6) | * [http://curl.haxx.se/ libcurl] - Multiprotocol file transfer library (minimum version 7.21.6) | ||
* [http://xiph.org/vorbis/ libvorbis] - The Vorbis General Audio Compression Codec Library (minimum version 1.2.0) | * [http://xiph.org/vorbis/ libvorbis] - The Vorbis General Audio Compression Codec Library (minimum version 1.2.0) | ||
− | |||
* [http://www.libsdl.org/ SDL] - Simple DirectMedia Layer Library (minimum version 2.0.0) | * [http://www.libsdl.org/ SDL] - Simple DirectMedia Layer Library (minimum version 2.0.0) | ||
− | * [http://www.libsdl.org/projects/SDL_image/ SDL_image] - Image file loading library (minimum version | + | * [http://www.libsdl.org/projects/SDL_image/ SDL_image] - Image file loading library (minimum version 2.0.0) |
Make sure you have all the required libraries and build tools. Make sure you also have the development files for each of the libraries. Your Linux distribution may have different package names and/or bundled differently. The list above should give enough information to search for applicable packages within your distribution's package manager. | Make sure you have all the required libraries and build tools. Make sure you also have the development files for each of the libraries. Your Linux distribution may have different package names and/or bundled differently. The list above should give enough information to search for applicable packages within your distribution's package manager. | ||
Line 68: | Line 66: | ||
====Fedora==== | ====Fedora==== | ||
All required packages can be installed using this command: | All required packages can be installed using this command: | ||
− | sudo yum install bullet-devel gcc-c++ | + | sudo yum install bullet-devel gcc-c++ libvorbis-devel scons SDL2-devel SDL2_image-devel curl-devel |
====Ubuntu==== | ====Ubuntu==== | ||
− | Ubuntu does not include | + | Ubuntu 12.04 does not include libbullet and SDL2 packages. They are available in following ppas though: |
− | |||
− | |||
− | |||
− | + | sudo add-apt-repository ppa:roblib/ppa | |
− | + | sudo add-apt-repository ppa:zoogie/sdl2-snapshots | |
− | |||
− | |||
− | + | All required packages can be installed using this command: | |
− | |||
− | |||
− | + | sudo apt-get install g++ scons libsdl2-dev libsdl2-image-dev libbullet-dev libvorbis-dev libcurl4-gnutls-dev | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Compiling=== | ===Compiling=== |
Latest revision as of 11:22, 24 June 2015
This page shows how to compile VDrift from source. It assumes you have downloaded the source code either by getting the source package from the latest release, or by getting the development version.
Windows
Building with MSYS2
- This is the recommended method to build VDrift. It does not require vdrift-win.
- Install MSYS2 and update local packages.
- Install build tools.
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-pkgconf scons
- Install VDrift dependencies.
pacman -S mingw-w64-x86_64-SDL2 mingw-w64-x86_64-SDL2_image mingw-w64-x86_64-bullet mingw-w64-x86_64-curl mingw-w64-x86_64-libvorbis
- Build VDrift using MinGW-w64 Win64 Shell.
scons
- For more build options run
scons --help
Building with Code::Blocks/MinGW (obsolete)
- Download the latest MinGW. When asked to select components for install, you only need the base system and the g++ compiler.
- Your PATH Environment Variable should contain the MinGW bin path (e.g. C:\MinGW\bin;).
- Download Code::Blocks nightly
- Run the following command from the vdrift folder to generate the build files.
vdrift-win\premake4 codeblocks
Building with MSVC (obsolete)
- Run the appropriate command from the vdrift folder to generate the project files.
- Microsoft Visual C++ 2008:
vdrift-win\premake4 vs2008
- Microsoft Visual C++ 2010:
vdrift-win\premake4 vs2010
OS X
The VDrift OS X project requires Xcode 3.2 or later. The latest version is free on the Mac App Store.
Open vdrift/vdrift-mac/vdrift.xcodeproj and in Xcode 4 or higher click Product -> Build, otherwise hit Build -> Build.
Linux
Prerequisites
The required build tools include:
The required libraries include:
- Bullet - Open Source Physics Library (minimum version 2.83). Only the following libraries are required:
- BulletCollision
- BulletDynamics
- LinearMath
- libcurl - Multiprotocol file transfer library (minimum version 7.21.6)
- libvorbis - The Vorbis General Audio Compression Codec Library (minimum version 1.2.0)
- SDL - Simple DirectMedia Layer Library (minimum version 2.0.0)
- SDL_image - Image file loading library (minimum version 2.0.0)
Make sure you have all the required libraries and build tools. Make sure you also have the development files for each of the libraries. Your Linux distribution may have different package names and/or bundled differently. The list above should give enough information to search for applicable packages within your distribution's package manager.
Fedora
All required packages can be installed using this command:
sudo yum install bullet-devel gcc-c++ libvorbis-devel scons SDL2-devel SDL2_image-devel curl-devel
Ubuntu
Ubuntu 12.04 does not include libbullet and SDL2 packages. They are available in following ppas though:
sudo add-apt-repository ppa:roblib/ppa sudo add-apt-repository ppa:zoogie/sdl2-snapshots
All required packages can be installed using this command:
sudo apt-get install g++ scons libsdl2-dev libsdl2-image-dev libbullet-dev libvorbis-dev libcurl4-gnutls-dev
Compiling
To compile VDrift just run SCons in the root directory of the sources.
scons
Optional: Compile Options
You can use one or more compile options. To compile with optimization for a certain platform, you can use the arch flag:
scons arch=a64
Compiling VDrift in release mode will turn off debugging options, and enable more compiler optimizations. VDrift runs much more quickly in release mode:
scons release=1
To enable force feedback, use this flag:
scons force_feedback=1
You can get a list of all compile time options with:
scons --help
These options are probably best left off the first time you compile. If you have problems compiling or running VDrift, it is easier to debug with them off. Once you verify that VDrift is compiling, then recompile with these optimizations to improve performance.
Installing
VDrift does not need to be installed to work and you can run it from the folder where you compiled it. If you do want to install, use the SCons build target install.
sudo scons install
Optional: Installation Location
There are also some install options - to change where VDrift is installed, use the prefix flag:
scons install prefix=/usr/local
Cleaning
Building the project creates several artefacts that do not need to be stored, because they can be regenerated on demand. Cleaning them up can be done with SCons, too:
scons --clean
To remove all additional temporary files run:
rm -rf .sconf_temp/ .sconsign.dblite config.log vdrift.conf
FreeBSD
To compile VDrift on FreeBSD, use the ports system.
Latest Release
If you downloaded a release, simply run make
on the vdrift port:
cd /usr/ports/games/vdrift && make install clean clean-depends
Development Version
If you downloaded the development version, copy the vdrift and vdrift-data ports to vdrift-devel and vdrift-data-devel:
cd /usr/ports/games && cp -rf vdrift vdrift-devel && cp -rf vdrift-data vdrift-data-devel
To compile, run make
on the newly-created vdrift-devel port:
cd /usr/ports/games/vdrift-devel && make install clean clean-depends