Skip to content
Kerry Loux edited this page Jul 16, 2016 · 7 revisions

Welcome to the VVASE wiki!

User documentation is provided in the PDF user manual.

This page contains instructions for building VVASE from source.

Prerequisites

VVASE depends on these 3rd party libraries:

  • wxWidgets (v3.1.0)
  • FTGL (v2.1.3 or newer)
  • FreeType2 (currently using v2.4.10, anything in the 2.4 series should be OK)
  • GLEW (v1.13.0)

Windows

Download from above links and build from source. I used dynamic libraries for Debug configuration and static libraries for the Release configuration. Also, I used static linking (/MT flag) to the MSVC++ runtime libraries, too, which is not the default setting for any of the 3rd part libraries. You'll need to change this when building the libraries, or you can leave the libraries alone and change this within the VVASE project. The advantage of static linking is that the users don't need to install MSVC++ redistributable packages (so you can run it off of a thumb drive, for example).

TODO: Add step-by-step instructions

After getting these libraries built, you'll need to define some environment variables. To do this, go to the Property Manager tab (bottom of Solution Explorer, by default), expand the project and a configuration (either one works), then right-click on Microsoft.Cpp.Win32.User and choose Properties. Go to User Macros, click Add Macro, and define the following macros. Be sure to check Set this macro as an environment variable in the build environment before clicking OK for each macro.

  • WXWIN, pointing to your root wxWidgets directory
  • FTGL, pointing to your root FTGL directory
  • FREETYPE, pointing to your root FreeType2 directory
  • OPENGL, pointing to the location of your OpenGL v3.3+ headers (if not already on your path)
  • GLEW, pointing to your GLEW install directory

Linux

Beginners

If you're new to Linux development, the following steps will get your system set up to build VVASE and it's dependencies. $ sudo apt-get install git build-essential gnome-devel

Building wxWidgets

With recent versions of Ubuntu, I haven't had much luck with the pre-built packages (or they don't exist), so I always end up building wxWidgets from source. If starting from a fresh install of Ubuntu, the entire process took about 30 minutes on a modest machine. Here are the required steps to accomplish this:

  1. Install FreeType2, GLEW and OpenGL headers

$ sudo apt-get install libfreetype6 libfreetype6-dev mesa-common-dev libglu1-mesa-dev libftgl-dev libglew-dev

  1. Download the source tarball here

    wxWidgets 3.1.0 is required to support modern OpenGL functionality.

  2. Extract the tarball to your location of choice, then build and install the libraries and development files:

$ tar -xjf wxWidgets-3.1.0.tar.bz2
$ cd wxWidgets-3.1.0
$ mkdir gtk-build
$ cd gtk-build
$ ../configure --with-opengl
$ make
$ sudo make install

You may or may not also need to do the following in order to get built applications to locate the shared libraries:

$ sudo ldconfig

Mac

Currently not supported - but it might not take much to get it working! If you're interested in porting to Mac, let me know.

Getting the source

Unless you're new to GitHub, you probably know what to do here. It's easy: $ git clone https://github.com/KerryL/VVASE.git

Building

Windows

Building should be self explanatory for anyone familiar with MSVC++. Two configurations are provided - Debug and Release.

Linux

There is a makefile and a makfile.inc included in the repository. These are set up to use the GNU toolchain. Just type make to build and make clean to clean. Compiling and liking should complete without any warnings (unless you're building an older version of wxWidgets with a newer compiler, in which case you might get many warnings about unused typedefs within wx headers). By default, the object files will be put in .obj/ and the binary will be put in bin/.