Difference between revisions of "Third-party libraries and tools"

From KlayGE
Jump to: navigation, search
Line 1: Line 1:
 
[[KlayGE]]'s code depends on these following third-party libraries and tools. Since 3.12.0, the source code of these libraries are included in KlayGE. Users can run build_external.py to build and install them. Before running the building script, [http://www.python.org/ Python] 2.7+ and [http://www.cmake.org/ CMake] 3.4+ must be installed.
 
[[KlayGE]]'s code depends on these following third-party libraries and tools. Since 3.12.0, the source code of these libraries are included in KlayGE. Users can run build_external.py to build and install them. Before running the building script, [http://www.python.org/ Python] 2.7+ and [http://www.cmake.org/ CMake] 3.4+ must be installed.
 
== Core requires: ==
 
*[http://www.boost.org/ Boost] 1.68.0. Only a part of it is [[Used boost libraries|in use]].
 
*[http://rapidxml.sourceforge.net/ RapidXml] 1.13
 
*[http://www.7-zip.org/ 7-zip] 18.05
 
 
== DevHelper requires: ==
 
*[https://github.com/Tencent/rapidjson RapidJson] git
 
 
== D3D11 Rendering System and DSound Audio System require: ==
 
*[https://github.com/gongminmin/UniversalDXSDK Universal DX SDK]
 
 
== DShow Show System requires: ==
 
*Microsoft Windows SDK 10.0 comes with Visual Studio 2017, or
 
*Microsoft Windows SDK 10.0 comes with Visual Studio 2015, or
 
*Microsoft Windows SDK 8.1 comes with Visual Studio 2013
 
 
== OggVorbis Audio Datasource requires: ==
 
*[http://xiph.org/downloads/ libogg] 1.3.2 and [http://xiph.org/downloads/ libvorbis] 1.3.5, must be compiled to static library
 
 
== OpenAL Audio System requires: ==
 
*[http://www.openal.org/downloads.html OpenAL SDK] 1.1
 
 
== OpenGL Rendering System requires: ==
 
*[https://github.com/gongminmin/UniversalDXSDK Universal DX SDK]
 
 
== OpenGL ES Rendering System requires: ==
 
*[https://github.com/gongminmin/UniversalDXSDK Universal DX SDK]
 
*[http://code.google.com/p/angleproject/ Google ANGLE], or
 
*[http://developer.nvidia.com/tegra-resources-archive NVIDIA x86 Windows OpenGL ES 2.0 Emulator], or
 
*[http://www.imgtec.com/powervr/insider/sdk/KhronosOpenGLES2xSGX.asp PowerVR Insider SDK] v2.9, or
 
*[http://www.malideveloper.com/tools/software-development/opengl-es-20-emulator.php ARM Mali OpenGL ES 2.0 Emulator] v1.3
 
 
== Python Script System requires: ==
 
*[http://www.python.org/ Python] 3.5.1.
 
 
== Test requires: ==
 
*[https://github.com/google/googletest Google Test] 1.8.0。
 
 
== KFontGen tool requires: ==
 
*[http://freetype.sourceforge.net/ FreeType] 2.8.1.
 
 
 
= Notes =
 
 
As KlayGE uses VC Multi-threaded DLL runtime library, it needs ALL libs that linked to exes change to use Multi-threaded DLL runtime library (Project->Properties->Configuration Properties->C/C++->Code Generation->Runtime Library, select Multi-threaded Debug DLL/Multi-threaded DLL).
 
 
  
 
= List =
 
= List =
Line 61: Line 14:
 
| [https://github.com/assimp/assimp assimp] || git || Yes || Yes
 
| [https://github.com/assimp/assimp assimp] || git || Yes || Yes
 
|-
 
|-
| [http://www.boost.org/ boost] || Slimmed 1.68.0 || Yes, but not used || Yes
+
| [http://www.boost.org/ boost] || Slimmed 1.70.0 || Yes, but not used || Yes
 
|-
 
|-
 
| [https://github.com/jarro2783/cxxopts cxxopts] || git || Yes || No
 
| [https://github.com/jarro2783/cxxopts cxxopts] || git || Yes || No
Line 67: Line 20:
 
| d3dcompiler || N/A || No || No
 
| d3dcompiler || N/A || No || No
 
|-
 
|-
| [http://freeimage.sourceforge.net/ FreeImage] || {{No}}Forked git (Fixes C++17, MinGW, and ARM) || No || Yes
+
| [https://github.com/gongminmin/FreeImage FreeImage] || {{No}}Forked git (Fixes C++17, MinGW, and ARM) || No || Yes
 
|-
 
|-
 
| [https://www.freetype.org/ freetype] || git || Yes || Yes
 
| [https://www.freetype.org/ freetype] || git || Yes || Yes
Line 87: Line 40:
 
| [https://github.com/Tencent/rapidjson rapidjson] || git || Yes || No
 
| [https://github.com/Tencent/rapidjson rapidjson] || git || Yes || No
 
|-
 
|-
| [http://rapidxml.sourceforge.net/ rapidxml] || git || No || No
+
| [https://github.com/valnoel/rapidxml rapidxml] || git || No || No
 
|-
 
|-
 
| [https://github.com/gongminmin/UniversalDXSDK UniversalDXSDK] || git || No || No
 
| [https://github.com/gongminmin/UniversalDXSDK UniversalDXSDK] || git || No || No
Line 95: Line 48:
 
| [https://github.com/madler/zlib zlib] || git || Yes || Yes
 
| [https://github.com/madler/zlib zlib] || git || Yes || Yes
 
|}
 
|}
 +
 +
Other than these libraries, you may need to install an OpenGL ES SDK to build glloader_es and OpenGLES rendering system. [http://code.google.com/p/angleproject/ Google ANGLE] is a good choice.
  
 
[[zh:第三方库和工具]]
 
[[zh:第三方库和工具]]
 
[[ru:Сторонние библиотеки и инструменты]]
 
[[ru:Сторонние библиотеки и инструменты]]

Revision as of 03:26, 1 July 2019

KlayGE's code depends on these following third-party libraries and tools. Since 3.12.0, the source code of these libraries are included in KlayGE. Users can run build_external.py to build and install them. Before running the building script, Python 2.7+ and CMake 3.4+ must be installed.

List

Here is a full list of libraries under External folder in 4.15.

Name Version CMake Provided Need to Build
7z Forked git (Fixes for UWP and Android) No Yes
android_native_app_glue Patched 16B No No
assimp git Yes Yes
boost Slimmed 1.70.0 Yes, but not used Yes
cxxopts git Yes No
d3dcompiler N/A No No
FreeImage Forked git (Fixes C++17, MinGW, and ARM) No Yes
freetype git Yes Yes
googletest git Yes Yes
libogg git Yes Yes
libvorbis git Yes Yes
nanosvg git No No
openal-soft git Yes Yes
Python Forked git (Fixes for UWP and MinGW) No Yes
python-cmake-buildsystem Forked git (Fixes for Android, iOS, 3.7, and MinGW) Yes Yes
rapidjson git Yes No
rapidxml git No No
UniversalDXSDK git No No
wpftoolkit Forked git (Change the output directories) No Yes
zlib git Yes Yes

Other than these libraries, you may need to install an OpenGL ES SDK to build glloader_es and OpenGLES rendering system. Google ANGLE is a good choice.