Compiling
Banshee is available on two branches:
- preview - This branch always contains latest "stable" pre-release version.
- master - This branch contains the latest changes, might be quite unstable and might not even compile. Use this if you absolutely need the bleeding edge changes.
It can be compiled using:
- MSVC++ 14.0 (Visual Studio 2015)
- Clang
Banshee currently only compiles on Windows, but Mac & Linux ports are coming soon.
Compile steps (Simple)
Windows
To create a Visual Studio 2015 solution with default settings, follow these steps:
- Download source code
- Install relevant DirectX dependencies as described here
- Run setup.bat in the source code root folder
- Access Visual Studio solution in /Build/VS2015/Banshee.sln
Note: Visual Studio 2015 installation required
Compile steps (Advanced)
Windows
For those that wish to customize their build, or compile using something other than Visual Studio, follow the steps below:
- Download source code
- Set up third party dependencies
- Generate build files using CMake:
- Install CMake 3.6.1 or higher for Windows
- Run CMake GUI
- Point CMake to the /Source sub-folder in Banshee's source code (Browse Source... button in GUI)
- Choose an output folder (Browse Build... button in GUI)
- Hit Configure and choose the toolset to generate the files for (e.g. Visual Studio 2015 64-bit)
- (Optionally) Customize your build by setting any of the properties that have appeared. You can choose options like render API (Vulkan, DirectX, OpenGL), audio module and whether to build the entire editor or just the engine.
- Hit the Generate button
- Once CMake is done generating you can use the toolset you chose (e.g. Visual Studio) to open the generated files (e.g. open the .sln file provided in the Build folder in the case of Visual Studio)
Third party dependencies
Banshee relies on a variety of third party dependencies. We provide a set of pre-compiled dependencies needed for the latest version of Banshee using Visual Studio 2015, to save you the hassle of compiling them yourself. If you are not using VS2015 or want to compile the dependencies yourself for some other reason, a guide is provided below.
For older versions of pre-compiled dependencies check the git release tag descriptions for links.
Other dependencies
The following dependencies will need to be installed manually regardless if you used pre-compiled dependency package or have compiled them yourself.
DirectX SDK (Optional if not using DirectX)
- Only needed if on Windows 7 or earlier and using DirectX 11 render API
- Set up DXSDK_DIR environment variable pointing to the DirectX instalation
Windows SDK (Optional if not using DirectX)
- Only needed if on Windows 8 or later and using DirectX 11 render API
DirectX Debug Layer (Optional if not using DirectX)
- Only needed if on Windows 10 and using DirectX 11 render API
- Go to Settings panel (type "Settings" in Start)->System->Apps & features->Manage optional Features->Add a feature->Select "Graphics Tools"
Vulkan SDK (Optional if not using Vulkan)
- Only needed if you selected the Vulkan render API during build configuration (selected by default)
- https://lunarg.com/vulkan-sdk/
- If CMake complains it cannot find Vulkan, manually set the Vulkan_INSTALL_DIRS to your installation directory
Python 3.5 (Optional)
FMOD Low Level Programmer API (Optional)
- Only needed if you selected the FMOD audio module during build configuration (not selected by default)
- http://www.fmod.org/download/
- If CMake complains it cannot find FMOD, manually set the FMOD_INSTALL_DIRS to your installation directory
- Copy the dynamic libraries from {INSTALLDIR}/api/lowlevel/lib into /bin folder in Banshee source code folder
- Use logging libraries for the Debug builds, and non-logging for OptimizedDebug and Release builds
Mono 4.2 (Optional)
- If you wish to compile managed assemblies using a Microsoft compiler (e.g. using Visual Studio) yet still be able to debug the generated assemblies, you must install Mono 4.2. and 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.
- http://www.mono-project.com/download/