CompilingDependenciesManually.txt 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. This document lists all Banshee 3rd party libraries and provides information on how to compile them. It is meant to be used
  2. as a guide if you wish to recompile all the dependencies manually. Normally dependencies will be pre-compiled for all
  3. supported platforms and environments.
  4. ----------------------------------------------------------------------------------
  5. Core dependencies
  6. BansheeCore relies on:
  7. - NVIDIA Texture Tools 2.0.8
  8. - https://code.google.com/p/nvidia-texture-tools/
  9. - See NVTTCompilationGuide.txt on how to compile it for Banshee
  10. Place dependency files in:
  11. - Library include files in (BansheeRootDir)/Dependencies/(Project)/Include
  12. - Static library files in (BansheeRootDir)/Dependencies/(Project)/lib/(Platform)/(Configuration)
  13. - Dynamic library files in (BansheeRootDir)/bin/(Platform)/(Configuration)
  14. ----------------------------------------------------------------------------------
  15. Plug-in dependencies:
  16. 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.
  17. 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.
  18. BansheeFBXImporter (optional) relies on:
  19. - FBX SDK 2016.1
  20. - http://usa.autodesk.com/fbx
  21. BansheeFreeImgImporter (optional) relies on:
  22. - FreeImage 3.13.1
  23. - http://freeimage.sourceforge.net
  24. BansheeFontImporter (optional) relies on:
  25. - Freetype 2.3.5
  26. - http://www.freetype.org
  27. - IMPORTANT NOTE: When compiling as static library make sure to define "FREETYPE2_STATIC". It is not defined by default
  28. in provided Visual Studio projects, which can cause a headache.
  29. BansheeOISInput (optional) relies on:
  30. - BansheeOIS - Slightly modified version of OIS 1.3 specifically for Banshee
  31. - Source code supplied with Banshee dependencies (NOT with the source code for the rest of the engine - will be integrated eventually)
  32. BansheeD3D11RenderAPI & BansheeD3D9RenderAPI (both optional) rely on:
  33. - Microsoft DirectX SDK June 2010
  34. - http://www.microsoft.com/en-us/download/details.aspx?id=6812
  35. - After installing the SDK make sure DXSDK_DIR environment variable is set up pointing to the installation path
  36. - Windows SDK (Only required if on Windows 8 or higher)
  37. - Needed only for DirectX 11 debug layer
  38. - This also contains DirectX SDK so you don't need to install it separately.
  39. - Optionally if you just need the debug layers you can enable it separately in Windows 10 by going to:
  40. - Settings panel->System->Apps & features->Manage optional Features->Add a feature->Select "Graphics Tools"
  41. BansheeSL (optional) relies on:
  42. - Bison 2.7
  43. - Install as a tool dependency, in its own folder as Bison/bison.exe (+ any dependant files)
  44. - http://sourceforge.net/projects/winflexbison/files/
  45. - Flex 2.5.37
  46. - Install as a tool dependency, in its own folder as Flex/flex.exe
  47. - http://sourceforge.net/projects/winflexbison/files/
  48. BansheeMono (optional if not using scripting or editor) relies on:
  49. - Mono 4.4.0
  50. - http://www.mono-project.com/
  51. - See Mono-4.4.0-IntegrationGuide.txt for instructions how to compile and set it up
  52. BansheePhysX (optional) relies on:
  53. - PhysX 3.3
  54. - https://github.com/NVIDIAGameWorks/PhysX-3.3
  55. - You will need PhysX3, PhysX3Common, PhysX3Cooking and PhysX3CharacterKinematic libraries
  56. BansheeOpenAudio (optional) relies on:
  57. - libogg v1.3.2
  58. - https://xiph.org/downloads/
  59. - Build as static library with separate debug & release files
  60. - Switch runtime library to dynamic to avoid linker warnings when adding it to Banshee
  61. - Also required in order to build libflac & libvorbis
  62. - See readme files included with those libraries as to how to set up libogg library and includes
  63. - libvorbis commit:5bbe49dc947ea9f1532273644348c53054ca214a
  64. - https://git.xiph.org/?p=vorbis.git
  65. - Before compiling follow steps for libogg above
  66. - Use non-debug build for all Banshee configurations for performance reasons
  67. - libflac commit:94a61241b02064c7d9fe508f72a742f2a90b8492
  68. - https://git.xiph.org/?p=flac.git
  69. - Before compiling follow steps for libogg above
  70. - Use non-debug build for all Banshee configurations for performance reasons
  71. - OpenAL Soft 1.17.2
  72. - https://github.com/kcat/openal-soft
  73. - Use non-debug build for all Banshee configurations for performance reasons
  74. Place plug-in specific dependency files in:
  75. - Library include files in (BansheeRootDir)/Dependencies/(Project)/Include
  76. - Static library files in (BansheeRootDir)/Dependencies/(Project)/lib/(Platform)/(Configuration)
  77. - Tools (executables) in (BansheeRootDir)/Dependencies/(Project)/tools
  78. - Dynamic library files in (BansheeRootDir)/bin/(Platform)/(Configuration)
  79. ----------------------------------------------------------------------------------
  80. Scripts
  81. Various scripts located in /Scripts directory require Python 3.5 installed:
  82. - https://www.python.org/downloads/
  83. ----------------------------------------------------------------------------------
  84. Legend:
  85. (BansheeRootDir) - Path to BansheeEngine folder
  86. (Project) - Name of the project the dependency is for (e.g. BansheeCore, BansheeMono, etc.)
  87. (Platform) - Platform you're compiling for, e.g. x86, x64, etc.
  88. (Configuration) - Debug, OptimizedDebug, Release
  89. Other notes:
  90. - Some dependencies might not come with OptimizedDebug binaries, in which case use Release binaries (copy them to OptimizedDebug folder)
  91. - If you wish to compile managed assemblies using Microsoft compiler (e.g. using Visual Studio) yet still be able to debug
  92. the generated assemblies, you must install Mono 4.2., set up an environment variable MONO_INSTALL_DIR pointing to the Mono
  93. installation directory. When this is set up "pdb2mdb" script will trigger on next compile generating the needed debug symbols.