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

From KlayGE
Jump to: navigation, search
Line 49: Line 49:
  
 
= List =
 
= List =
Here is a full list of libraries under External folder.
+
Here is a full list of libraries under External folder in 4.14.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 90: Line 90:
 
|-
 
|-
 
| [https://github.com/xceedsoftware/wpftoolkit wpftoolkit] || 2.8 || Yes || {{No}}Yes || No || Yes
 
| [https://github.com/xceedsoftware/wpftoolkit wpftoolkit] || 2.8 || Yes || {{No}}Yes || No || Yes
 +
|}
 +
 +
Also, in develop branch, most external libraries are downloaded via git. They are listed below.
 +
 +
{| class="wikitable"
 +
|-
 +
! Name !! Version !! CMake Provided !! Need to Build
 +
|-
 +
| [http://7-zip.org 7z] || {{No}}Forked git (Fixes for UWP and Android) || No || Yes
 +
|-
 +
| [https://developer.android.com/ndk/downloads/index.html android_native_app_glue] || {{No}}Patched 16B || No || No
 +
|-
 +
| [https://github.com/assimp/assimp assimp] || git || Yes || Yes
 +
|-
 +
| [http://www.boost.org/ boost] || Slimmed 1.68.0 || Yes, but not used || Yes
 +
|-
 +
| [https://github.com/jarro2783/cxxopts cxxopts] || git || Yes || No
 +
|-
 +
| [http://freeimage.sourceforge.net/ FreeImage] || {{No}}Forked git (Fixes C++17, MinGW, and ARM) || No || Yes
 +
|-
 +
| [https://www.freetype.org/ freetype] || git || Yes || Yes
 +
|-
 +
| [https://github.com/google/googletest googletest] || git || Yes || Yes
 +
|-
 +
| [https://github.com/xiph/ogg libogg] || git || Yes || Yes
 +
|-
 +
| [https://github.com/xiph/vorbis libvorbis] || git || Yes || Yes
 +
|-
 +
| [https://github.com/memononen/nanosvg nanosvg] || git || No || No
 +
|-
 +
| [https://github.com/kcat/openal-soft openal-soft] || git || Yes || Yes
 +
|-
 +
| [https://github.com/python/cpython Python] || {{No}}Forked git (Fixes for UWP and MinGW) || No || Yes
 +
|-
 +
| [https://github.com/python-cmake-buildsystem/python-cmake-buildsystem python-cmake-buildsystem] || {{No}}Forked git (Fixes for Android, iOS, 3.7, and MinGW) || Yes || Yes
 +
|-
 +
| [https://github.com/Tencent/rapidjson rapidjson] || git || Yes || No
 +
|-
 +
| [http://rapidxml.sourceforge.net/ rapidxml] || git || No || No
 +
|-
 +
| [https://github.com/gongminmin/UniversalDXSDK UniversalDXSDK] || N/A || No || No
 +
|-
 +
| [https://github.com/xceedsoftware/wpftoolkit wpftoolkit] || {{No}}Forked git (Change the output directories) || No || Yes
 +
|-
 +
| [https://github.com/madler/zlib zlib] || git || Yes || Yes
 
|}
 
|}
  
 
[[zh:第三方库和工具]]
 
[[zh:第三方库和工具]]
 
[[ru:Сторонние библиотеки и инструменты]]
 
[[ru:Сторонние библиотеки и инструменты]]

Revision as of 23:39, 8 February 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.

Core requires:

DevHelper requires:

D3D11 Rendering System and DSound Audio System require:

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:

OpenAL Audio System requires:

OpenGL Rendering System requires:

OpenGL ES Rendering System requires:

Python Script System requires:

Test requires:

KFontGen tool requires:


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

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

Name Version Slimmed Patched CMake Provided Need to Build
7z 18.05 Yes Yes No Yes
android_native_app_glue 16B No Yes No No
assimp git No No Yes Yes
boost 1.68.0 Yes No Yes, but not used Yes
cxxopts git No No Yes No
FreeImage 3.18.0 Yes Yes No Yes
freetype 2.8.1 Yes No Yes Yes
googletest 1.8.0 No No Yes Yes
libogg git No No Yes Yes
libvorbis 1.3.6 Yes Yes Yes Yes
nanosvg git No No No No
OpenALSDK 1.1 No No No No
Python 3.5.1 Yes Yes No Yes
python-cmake-buildsystem N/A Yes Yes Yes Yes
rapidjson git No No Yes No
rapidxml 1.13 No Yes No No
UniversalDXSDK N/A No No No No
wpftoolkit 2.8 Yes Yes No Yes

Also, in develop branch, most external libraries are downloaded via git. They are listed below.

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.68.0 Yes, but not used Yes
cxxopts git Yes 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 N/A No No
wpftoolkit Forked git (Change the output directories) No Yes
zlib git Yes Yes