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

From KlayGE
Jump to: navigation, search
Line 6: Line 6:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Name !! Version !! CMake Provided !! Need to Build
+
! Name !! Version !! CMake Provided !! Need to Build !! Usage !! License
 
|-
 
|-
| [http://7-zip.org 7z] || {{No}}Forked git (Fixes for UWP and Android) || No || Yes
+
| [http://7-zip.org 7-zip] || {{No}}Forked git (Fixes for UWP and Android) || No || Yes || Runtime || LGPL/BSD-3-clause
 
|-
 
|-
| [https://developer.android.com/ndk/downloads/index.html android_native_app_glue] || {{No}}Patched 16B || No || No
+
| [https://developer.android.com/ndk/downloads/index.html android_native_app_glue] || {{No}}Patched 16B || No || No || Runtime || Apache 2
 
|-
 
|-
| [https://github.com/assimp/assimp assimp] || git || Yes || Yes
+
| [https://github.com/assimp/assimp assimp] || git || Yes || Yes || Dev || BSD-3-Clause
 
|-
 
|-
| [http://www.boost.org/ boost] || Slimmed 1.70.0 || Yes, but not used || Yes
+
| [http://www.boost.org/ boost] || Slimmed 1.70.0 || Yes, but not used || Yes || Runtime || Boost
 
|-
 
|-
| [https://github.com/jarro2783/cxxopts cxxopts] || git || Yes || No
+
| [https://github.com/jarro2783/cxxopts cxxopts] || git || Yes || No || Dev || MIT
 
|-
 
|-
| d3dcompiler || N/A || No || No
+
| d3dcompiler || N/A || No || No || Dev || DirectX SDK EULA
 
|-
 
|-
| [https://github.com/gongminmin/FreeImage 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 || Dev || GPL
 
|-
 
|-
| [https://www.freetype.org/ freetype] || git || Yes || Yes
+
| [https://www.freetype.org/ freetype] || git || Yes || Yes || Dev || FreeType (BSD-style)
 
|-
 
|-
| [https://github.com/google/googletest googletest] || git || Yes || Yes
+
| [https://github.com/google/googletest googletest] || git || Yes || Yes || Dev || BSD-3-Clause
 
|-
 
|-
| [https://github.com/xiph/ogg libogg] || git || Yes || Yes
+
| [https://github.com/xiph/ogg libogg] || git || Yes || Yes || Runtime || BSD
 
|-
 
|-
| [https://github.com/xiph/vorbis libvorbis] || git || Yes || Yes
+
| [https://github.com/xiph/vorbis libvorbis] || git || Yes || Yes || Runtime || BSD
 
|-
 
|-
| [https://github.com/memononen/nanosvg nanosvg] || git || No || No
+
| [https://github.com/memononen/nanosvg nanosvg] || git || No || No || Dev || Zlib
 
|-
 
|-
| [https://github.com/kcat/openal-soft openal-soft] || git || Yes || Yes
+
| [https://github.com/kcat/openal-soft openal-soft] || git || Yes || Yes || Runtime || LGPL
 
|-
 
|-
| [https://github.com/python/cpython Python] || {{No}}Forked git (Fixes for UWP and MinGW) || No || Yes
+
| [https://github.com/python/cpython Python] || {{No}}Forked git (Fixes for UWP and MinGW) || No || Yes || Runtime || Python Software Foundation (BSD-style)
 
|-
 
|-
| [https://github.com/python-cmake-buildsystem/python-cmake-buildsystem python-cmake-buildsystem] || {{No}}Forked git (Fixes for Android, iOS, Python 3.7, and MinGW) || Yes || Yes
+
| [https://github.com/python-cmake-buildsystem/python-cmake-buildsystem python-cmake-buildsystem] || {{No}}Forked git (Fixes for Android, iOS, Python 3.7, and MinGW) || Yes || Yes || Dev || Apache 2
 
|-
 
|-
| [https://github.com/Tencent/rapidjson rapidjson] || git || Yes || No
+
| [https://github.com/Tencent/rapidjson rapidjson] || git || Yes || No || Runtime || MIT
 
|-
 
|-
| [https://github.com/valnoel/rapidxml rapidxml] || git || No || No
+
| [https://github.com/valnoel/rapidxml rapidxml] || git || No || No || Runtime || MIT
 
|-
 
|-
| [https://github.com/gongminmin/UniversalDXSDK UniversalDXSDK] || git || No || No
+
| [https://github.com/gongminmin/UniversalDXSDK UniversalDXSDK] || git || No || No || Dev || MIT
 
|-
 
|-
| [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 || Dev || Ms-PL
 
|-
 
|-
| [https://github.com/madler/zlib zlib] || git || Yes || Yes
+
| [https://github.com/madler/zlib zlib] || git || Yes || Yes || Runtime || Zlib
 
|}
 
|}
  

Revision as of 02:54, 17 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 Usage License
7-zip Forked git (Fixes for UWP and Android) No Yes Runtime LGPL/BSD-3-clause
android_native_app_glue Patched 16B No No Runtime Apache 2
assimp git Yes Yes Dev BSD-3-Clause
boost Slimmed 1.70.0 Yes, but not used Yes Runtime Boost
cxxopts git Yes No Dev MIT
d3dcompiler N/A No No Dev DirectX SDK EULA
FreeImage Forked git (Fixes C++17, MinGW, and ARM) No Yes Dev GPL
freetype git Yes Yes Dev FreeType (BSD-style)
googletest git Yes Yes Dev BSD-3-Clause
libogg git Yes Yes Runtime BSD
libvorbis git Yes Yes Runtime BSD
nanosvg git No No Dev Zlib
openal-soft git Yes Yes Runtime LGPL
Python Forked git (Fixes for UWP and MinGW) No Yes Runtime Python Software Foundation (BSD-style)
python-cmake-buildsystem Forked git (Fixes for Android, iOS, Python 3.7, and MinGW) Yes Yes Dev Apache 2
rapidjson git Yes No Runtime MIT
rapidxml git No No Runtime MIT
UniversalDXSDK git No No Dev MIT
wpftoolkit Forked git (Change the output directories) No Yes Dev Ms-PL
zlib git Yes Yes Runtime Zlib

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.