This document lists all Banshee 3rd party libraries and provides information on how to compile them. It is meant to be used
as a guide if you wish to recompile all the dependencies manually. Normally dependencies will be pre-compiled for all
supported platforms and environments.

----------------------------------------------------------------------------------
Core dependencies

BansheeCore relies on the following 3rd party libraries:
 - NVIDIA Texture Tools 2.0.8
    - https://code.google.com/p/nvidia-texture-tools/
	- See NVTTCompilationGuide.txt on how to compile it for Banshee

Place dependency files in:
 - Library include files in (BansheeRootDir)/Dependencies/Include
 - Static library files in (BansheeRootDir)/Dependencies/lib/(Platform)/(Configuration)
 - Dynamic library files in (BansheeRootDir)/bin/(Platform)/(Configuration)

----------------------------------------------------------------------------------
Plug-in dependencies:

Use the list below to find all dependencies used by specific projects in Banshee. Compilation of dependencies themselves are not explained unless there is something specific to take note of.
All dependencies listed are shown with a specific version (the one Banshee was tested against), although many should work with newer versions as well, but that is up to you to test.

BansheeFBXImporter (optional) relies on:
 - FBX SDK 2015.1 for VS2013, FBX SDK 2016.1 for VS2015
   - http://usa.autodesk.com/fbx

BansheeFreeImgImporter (optional) relies on:
 - FreeImage 3.13.1
  - http://freeimage.sourceforge.net

BansheeFontImporter (optional) relies on:
 - Freetype 2.3.5
  - http://www.freetype.org
  - IMPORTANT NOTE: When compiling as static library make sure to define "FREETYPE2_STATIC". It is not defined by default
    in provided Visual Studio projects, which can cause a headache.

BansheeOISInput (optional) relies on:
 - BansheeOIS - Slightly modified version of OIS 1.3 specifically for Banshee
  - Source code supplied with Banshee dependencies (NOT with the source code for the rest of the engine - will be integrated eventually)

BansheeD3D11RenderAPI & BansheeD3D9RenderAPI (both optional) rely on:
 - Microsoft DirectX SDK June 2010
  - http://www.microsoft.com/en-us/download/details.aspx?id=6812
  - After installing the SDK make sure DXSDK_DIR environment variable is set up pointing to the installation path
 - Windows SDK (Only required if on Windows 8 or higher)
  - Needed only for DirectX 11 debug layer
  - This also contains DirectX SDK so you don't need to install it separately.
  - Optionally if you just need the debug layers you can enable it separately in Windows 10 by going to: 
    - Settings panel->System->Apps & features->Manage optional Features->Add a feature->Select "Graphics Tools"

BansheeSL (optional) relies on:
 - Bison 2.7
  - Install as a tool dependency, in its own folder as Bison/bison.exe (+ any dependant files)
  - http://sourceforge.net/projects/winflexbison/files/
 - Flex 2.5.37
  - Install as a tool dependency, in its own folder as Flex/flex.exe
  - http://sourceforge.net/projects/winflexbison/files/

BansheeMono (optional if not using scripting or editor) relies on:
 - Mono 4.4.0
  - http://www.mono-project.com/
  - See Mono-4.4.0-IntegrationGuide.txt for instructions how to compile and set it up

BansheePhysX (optional) relies on:
 - PhysX 3.3
  - https://github.com/NVIDIAGameWorks/PhysX-3.3
  - You will need PhysX3, PhysX3Common, PhysX3Cooking and PhysX3CharacterKinematic libraries

Place plug-in specific dependency files in:
 - Library include files in (BansheeRootDir)/(PluginDir)/Dependencies/Include
 - Static library files in (BansheeRootDir)/(PluginDir)/Dependencies/lib/(Platform)/(Configuration)
 - Tools (executables) in (BansheeRootDir)/(PluginDir)/Dependencies/tools
 - Dynamic library files in (BansheeRootDir)/bin/(Platform)/(Configuration)

----------------------------------------------------------------------------------
Scripts

Various scripts located in /Scripts directory require Python 3.5 installed:
 - https://www.python.org/downloads/

----------------------------------------------------------------------------------

 Legend:
  (BansheeRootDir) - Path to BansheeEngine folder
  (Platform) - Platform you're compiling for, e.g. x86, x64, etc.
  (Configuration) - Debug, Release, DebugRelease

Other notes:
 - Some dependencies might not come with DebugRelease binaries, in which case use Release binaries (copy them to DebugRelease folder)
 - If you wish to compile managed assemblies using Microsoft compiler (e.g. using Visual Studio) yet still be able to debug
   the generated assemblies, you must install Mono 3.8.0., set up an environment variable MONO_INSTALL_DIR pointing to the Mono 
   installation directory. When this is set up "pdb2mdb" script will trigger on next compile generating the needed debug symbols.