Howto Build
===========

Basically there are four different possible build configurations which are (more or less) well-tested.
All builds require a full C++2011 toolchain! Microsoft's VisualStudio2013 won't work since it's not fully C++2011 compatible!
You can either use a Linux toolchain with g++/clang or a mingw64-g++ toolchain for Windows builds.

Linux (Debian):
	- non-GUI build
	- GUI build linked against a static wxWidgets library
	- GUI build linked against a dynamic wxWidgets library
Windows:
	- GUI build linked against a static wxWidgets library

Untested:
	- Windows non-GUI build
	- Windows GUI build with a dynamic wxWidgets library


Build with a shipped (static) wxWidgets version
===============================================

1. Run `build_wxwidgets.sh [target-triplet]`
	where [target-triplet] should look like cpu-vendor-os e.g. i686-w64-mingw32 if you are building for Windows
	Example: `./build_wxwidgets.sh i686-w64-mingw32`

2. Run `./autogen.sh`
	and add an additional `--help` to set some package options.
	You can cross compile for another architecture by setting `--host` and `--build` *explicitly*.
	Example: `./autogen.sh --disable-gui`
	         OR
	         `./autogen.sh --host=i686-w64-mingw32 --build=x86_64-linux-gnu`
	         (cross compile from x86_64 Linux to i686 Windows w64-SysApi)

3. Run `make` or `make -j4` or `make -j4 V=1`
	The argument -jN specifies the number of parallel build jobs.
	The argument V=1 specifies a verbose compilation mode.


Build with a dynamic wxWidgets version
======================================

1. Run `./autogen.sh --enable-host-wxwidgets`
	Build a binary which is dynamic linked against wxWidgets.

2. Run `make` (see above)


For a successful host-wxwudgets build you'll need an extra package.
`./autogen.sh --enable-host-wxwidgets`: libwxbase3.0-dev


Additional source packages used by this project
===============================================

Format: Project (LICENSE): URL

wxWidgets (LGPL like - allowing static linking for closed-source projects): https://github.com/wxWidgets/wxWidgets
Fast C++ CSV Parser (BSD-3): https://github.com/ben-strasser/fast-cpp-csv-parser
cpp-httplib (The Boost Software License 1.0): https://github.com/yhirose/cpp-httplib
json11 (Dropbox): https://github.com/dropbox/json11