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

From KlayGE
Jump to: navigation, search
 
(7 intermediate revisions by one user not shown)
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] 9.20
 
 
== 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 =
Here is a full list of libraries under External folder.
+
Here is a full list of libraries under External folder in 4.15.
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Name !! Version !! Slimmed !! Patched !! CMake Provided !! Need to Build
+
! Name !! Version !! CMake Provided !! Need to Build !! Usage !! License
 
|-
 
|-
| [http://7-zip.org 7z] || 18.05 || Yes || Yes, modified || 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] || 12C || No || Yes, modified || 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 || No || No || Yes || Yes
+
| [https://github.com/assimp/assimp assimp] || git || Yes || Yes || Dev || BSD-3-Clause
 
|-
 
|-
| [http://www.boost.org/ boost] || 1.68.0 || Yes || Yes || Yes, but not used || Yes
+
| [http://www.boost.org/ boost] || Slimmed 1.70.0 [[Used boost libraries|partly used]] || Yes, but not used || Yes || Runtime || Boost
 
|-
 
|-
| [https://github.com/jarro2783/cxxopts cxxopts] || git || No || No || Yes || No
+
| [https://github.com/jarro2783/cxxopts cxxopts] || git || Yes || No || Dev || MIT
 
|-
 
|-
| [http://freeimage.sourceforge.net/ FreeImage] || 3.18.0 || Yes || Yes || No || Yes
+
| d3dcompiler || N/A || No || No || Dev || DirectX SDK EULA
 
|-
 
|-
| [https://www.freetype.org/ freetype] || 2.8.1 || Yes || No || Yes || Yes
+
| [https://github.com/gongminmin/FreeImage FreeImage] || {{No}}Forked git (Fixes C++17, MinGW, and ARM) || No || Yes || Dev || GPL
 
|-
 
|-
| [https://github.com/google/googletest googletest] || 1.8.0 || No || No || Yes || Yes
+
| [https://www.freetype.org/ freetype] || git || Yes || Yes || Dev || FreeType (BSD-style)
 
|-
 
|-
| [https://github.com/xiph/ogg libogg] || git || No || No || Yes || Yes
+
| [https://github.com/google/googletest googletest] || git || Yes || Yes || Dev || BSD-3-Clause
 
|-
 
|-
| [https://github.com/xiph/vorbis libvorbis] || 1.3.6 || Yes || Yes || Yes || Yes
+
| [https://github.com/xiph/ogg libogg] || git || Yes || Yes || Runtime || BSD
 
|-
 
|-
| [https://github.com/memononen/nanosvg nanosvg] || git || No || No || No || No
+
| [https://github.com/xiph/vorbis libvorbis] || git || Yes || Yes || Runtime || BSD
 
|-
 
|-
| [http://www.openal.org/ OpenALSDK] || 1.1 || No || No || No || No
+
| [https://github.com/memononen/nanosvg nanosvg] || git || No || No || Dev || Zlib
 
|-
 
|-
| [https://www.python.org/ Python] || 3.5.1 || Yes || Yes || No || Yes
+
| [https://github.com/kcat/openal-soft openal-soft] || git || Yes || Yes || Runtime || LGPL
 
|-
 
|-
| [https://github.com/python-cmake-buildsystem/python-cmake-buildsystem python-cmake-buildsystem] || N/A || Yes || Yes || Yes || 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/Tencent/rapidjson rapidjson] || git || No || No || Yes || No
+
| [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
 
|-
 
|-
| [http://rapidxml.sourceforge.net/ rapidxml] || 1.13 || No || Yes || No || No
+
| [https://github.com/Tencent/rapidjson rapidjson] || git || Yes || No || Runtime || MIT
 
|-
 
|-
| [https://github.com/gongminmin/UniversalDXSDK UniversalDXSDK] || N/A || No || No || No || No
+
| [https://github.com/valnoel/rapidxml rapidxml] || git || No || No || Runtime || MIT
 
|-
 
|-
| [https://github.com/xceedsoftware/wpftoolkit wpftoolkit] || 2.8 || Yes || Yes || No || Yes
+
| [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 || Dev || Ms-PL
 +
|-
 +
| [https://github.com/madler/zlib 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. [http://code.google.com/p/angleproject/ Google ANGLE] is a good choice.
  
 
[[zh:第三方库和工具]]
 
[[zh:第三方库和工具]]
 
[[ru:Сторонние библиотеки и инструменты]]
 
[[ru:Сторонние библиотеки и инструменты]]

Latest revision as of 02:27, 26 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 partly used 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.