Compiling from source
If you have compiled VSXu before, there have been a few changes/improvements from the 0.3.0 release and onwards.
Here are the highlights:
- A new project aids in compilation, for regular builds.
- Windows compilation is not done on Windows anymore, it's done cross-compiled under GNU/Linux,
this goes for modules as well. We'll show you how to set things up on linux though.
- Instead of shipping libs/dll's needed for vsxu with the vsxu project these are now
handled on a per-version basis in the "build" project.
- In-source builds (./configure && make install) are now discouraged altough they are still possible.
- Installers for Windows / GNU/Linux are now generated with the help of cpack.
Prerequisites for building for Windows
- If you're ON Windows, get a GNU/Linux virtualized install! (For instance: a debian variant running in Virtualbox such as Ubuntu or Linux Mint)
- Then install the following packages:
- binutils-mingw-w64
- mingw-w64
- gcc-mingw-w64
- mingw-w64-dev
- Then you can follow the instructions below.
Prerequisites for the build environment
We're assuming we're on a debian-based distro. We're sure you can adapt these commands for your own distro.
- sudo apt-get install libglew1.6-dev
- sudo apt-get install libglfw-dev
- sudo apt-get install libpng12-dev
- sudo apt-get install libftgl-dev
- sudo apt-get install libjpeg8-dev
- sudo apt-get install libpulse-dev
- sudo apt-get install libxrandr-dev
- sudo apt-get install make
- sudo apt-get install cmake
- sudo apt-get install g++
- sudo apt-get install gcc
- sudo apt-get install git-core
Then assuming your current working directory is your home directory, you can run these commands:
mkdir vsxu && cd vsxu
mkdir vsxu && cd vsxu
git init
git remote add origin git://github.com/vovoid/vsxu.git
git pull origin 0.3.0
cd ..
mkdir build && cd build
git init
git remote add origin git://github.com/vovoid/vsxu-build.git
git pull origin 0.3.0
cd ..
You can do this anyway you like, the important point is that the directory structure must be something like this:
vsxu/vsxu
vsxu/build
Now, decide what architecture you want to build - there are a few different options.
cd ~/vsxu/build/linux32
cd ~/vsxu/build/linux64
cd ~/vsxu/build/win32
Then check out what options you have by running
ls -l
For the linux64 build for instance, there
are the following scripts to help you out:
prepare
prepare-fmod
prepare_opt
prepare_usr
- prepare - install to ~/vsxu/build/[platform]/install
- prepare-fmod - include the fmod plugin in the build and install to ~/vsxu/build/[platform]/install
- prepare_opt - install to /opt
- prepare_usr - install to /usr
You can run any of these.
But for now let's say we just want to mess around with local development, not really installing into /usr - then the following is a viable
set of commands:
./prepare
cd build
make install
cd ../install/bin
export LD_LIBRARY_PATH=../lib
./vsxu_artiste
Hint: if you have multiple cores (who doesn't these days) you can engage them all in compilation by adding the -j8 (for 8 cores) flag to make like so:
make -j8
This saves a lot of time.
Building VSXu's "dirty" plugins
By "dirty" we mean that they're not compatible with the license - GNU GPL -
and thus are used at your own mercy. Right now this constitutes only the
fmod sound plugins but might be more in the future if we need to build interfaces
for proprietary libraries.
For this sake, a special repository has been set up, called "vsxu-dirty" on github.
This is how you can add it (assuming your current working directory is ~/vsxu/):
mkdir vsxu-dirty
cd vsxu-dirty
git init
git remote add origin git://github.com/vovoid/vsxu-dirty.git
git pull origin master
Then you need to copy the fmod plugin project folder into vsxu's plugin build tree, which is:
~/vsxu/vsxu/plugins/src/
Then you can build with the special FMOD flag (see the readme file).