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 in 4.14.
+
Here is a full list of libraries under External folder in 4.15.
 
+
{| class="wikitable"
+
|-
+
! Name !! Version !! Slimmed !! Patched !! CMake Provided !! Need to Build
+
|-
+
| [http://7-zip.org 7z] || 18.05 || Yes || {{No}}Yes || No || Yes
+
|-
+
| [https://developer.android.com/ndk/downloads/index.html android_native_app_glue] || 16B || No || {{No}}Yes || No || No
+
|-
+
| [https://github.com/assimp/assimp assimp] || git || No || No || Yes || Yes
+
|-
+
| [http://www.boost.org/ boost] || 1.68.0 || Yes || No || Yes, but not used || Yes
+
|-
+
| [https://github.com/jarro2783/cxxopts cxxopts] || git || No || No || Yes || No
+
|-
+
| [http://freeimage.sourceforge.net/ FreeImage] || 3.18.0 || Yes || {{No}}Yes || No || Yes
+
|-
+
| [https://www.freetype.org/ freetype] || 2.8.1 || Yes || No || Yes || Yes
+
|-
+
| [https://github.com/google/googletest googletest] || 1.8.0 || No || No || Yes || Yes
+
|-
+
| [https://github.com/xiph/ogg libogg] || git || No || No || Yes || Yes
+
|-
+
| [https://github.com/xiph/vorbis libvorbis] || 1.3.6 || Yes || {{No}}Yes || Yes || Yes
+
|-
+
| [https://github.com/memononen/nanosvg nanosvg] || git || No || No || No || No
+
|-
+
| [http://www.openal.org/ OpenALSDK] || 1.1 || No || No || No || No
+
|-
+
| [https://www.python.org/ Python] || 3.5.1 || Yes || {{No}}Yes || No || Yes
+
|-
+
| [https://github.com/python-cmake-buildsystem/python-cmake-buildsystem python-cmake-buildsystem] || N/A || Yes || {{No}}Yes || Yes || Yes
+
|-
+
| [https://github.com/Tencent/rapidjson rapidjson] || git || No || No || Yes || No
+
|-
+
| [http://rapidxml.sourceforge.net/ rapidxml] || 1.13 || No || {{No}}Yes || No || No
+
|-
+
| [https://github.com/gongminmin/UniversalDXSDK UniversalDXSDK] || N/A || No || No || No || No
+
|-
+
| [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"
 
{| class="wikitable"
Line 107: Line 64:
 
|-
 
|-
 
| [https://github.com/jarro2783/cxxopts cxxopts] || git || Yes || No
 
| [https://github.com/jarro2783/cxxopts cxxopts] || git || Yes || No
 +
|-
 +
| d3dcompiler || N/A || No || No
 
|-
 
|-
 
| [http://freeimage.sourceforge.net/ FreeImage] || {{No}}Forked git (Fixes C++17, MinGW, and ARM) || No || Yes
 
| [http://freeimage.sourceforge.net/ FreeImage] || {{No}}Forked git (Fixes C++17, MinGW, and ARM) || No || Yes
Line 130: Line 89:
 
| [http://rapidxml.sourceforge.net/ rapidxml] || git || No || No
 
| [http://rapidxml.sourceforge.net/ rapidxml] || git || No || No
 
|-
 
|-
| [https://github.com/gongminmin/UniversalDXSDK UniversalDXSDK] || N/A || No || No
+
| [https://github.com/gongminmin/UniversalDXSDK UniversalDXSDK] || git || No || No
 
|-
 
|-
 
| [https://github.com/xceedsoftware/wpftoolkit wpftoolkit] || {{No}}Forked git (Change the output directories) || No || Yes
 
| [https://github.com/xceedsoftware/wpftoolkit wpftoolkit] || {{No}}Forked git (Change the output directories) || No || Yes

Revision as of 02:12, 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.

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.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.68.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