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-dev && cd vsxu-dev
       mkdir vsxu && cd vsxu
       git init
       git remote add origin git://github.com/vovoid/vsxu.git
       git pull origin master
       cd ..
       mkdir build && cd build
       git init
       git remote add origin git://github.com/vovoid/vsxu-build.git
       git pull origin master
       cd ..
       
      

You can do this anyway you like, the important point is that the directory structure must be something like this:

      vsxu-dev/vsxu
      vsxu-dev/build
      

Now, decide what architecture you want to build - there are a few different options.

        cd ~/vsxu-dev/build/linux32
        cd ~/vsxu-dev/build/linux64
        cd ~/vsxu-dev/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-dev/build/[platform]/install
  • prepare-fmod - include the fmod plugin in the build and install to ~/vsxu-dev/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-dev/):

       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-dev/vsxu/plugins/src/
      
Then you can build with the special FMOD flag (see the readme file).


VSXu Music Visualizer VSXu.com music/audio visualizer, visual programming language