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

From KlayGE
Jump to: navigation, search
Line 4: Line 4:
 
*[http://www.boost.org/ Boost] 1.68.0. Only a part of it is [[Used boost libraries|in use]].
 
*[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://rapidxml.sourceforge.net/ RapidXml] 1.13
*[http://www.7-zip.org/ 7-zip] 9.20
+
*[http://www.7-zip.org/ 7-zip] 18.05
  
 
== DevHelper requires: ==
 
== DevHelper requires: ==
Line 55: Line 55:
 
! Name !! Version !! Slimmed !! Patched !! CMake Provided !! Need to Build
 
! Name !! Version !! Slimmed !! Patched !! CMake Provided !! Need to Build
 
|-
 
|-
| [http://7-zip.org 7z] || 18.05 || Yes || Yes, modified || No || Yes
+
| [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 || Yes, modified || No || No
+
| [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
 
| [https://github.com/assimp/assimp assimp] || git || No || No || Yes || Yes
 
|-
 
|-
| [http://www.boost.org/ boost] || 1.68.0 || Yes || Yes || Yes, but not used || 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
 
| [https://github.com/jarro2783/cxxopts cxxopts] || git || No || No || Yes || No
 
|-
 
|-
| [http://freeimage.sourceforge.net/ FreeImage] || 3.18.0 || Yes || Yes || No || Yes
+
| [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://www.freetype.org/ freetype] || 2.8.1 || Yes || No || Yes || Yes
Line 73: Line 73:
 
| [https://github.com/xiph/ogg libogg] || git || 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 || Yes || 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
 
| [https://github.com/memononen/nanosvg nanosvg] || git || No || No || No || No
Line 79: Line 79:
 
| [http://www.openal.org/ OpenALSDK] || 1.1 || No || No || No || No
 
| [http://www.openal.org/ OpenALSDK] || 1.1 || No || No || No || No
 
|-
 
|-
| [https://www.python.org/ Python] || 3.5.1 || Yes || Yes || No || Yes
+
| [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 || Yes || Yes || 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
 
| [https://github.com/Tencent/rapidjson rapidjson] || git || No || No || Yes || No
 
|-
 
|-
| [http://rapidxml.sourceforge.net/ rapidxml] || 1.13 || No || Yes || No || 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/gongminmin/UniversalDXSDK UniversalDXSDK] || N/A || No || No || No || No
 
|-
 
|-
| [https://github.com/xceedsoftware/wpftoolkit wpftoolkit] || 2.8 || Yes || Yes || No || Yes
+
| [https://github.com/xceedsoftware/wpftoolkit wpftoolkit] || 2.8 || Yes || {{No}}Yes || No || Yes
 
|}
 
|}
  
 
[[zh:第三方库和工具]]
 
[[zh:第三方库和工具]]
 
[[ru:Сторонние библиотеки и инструменты]]
 
[[ru:Сторонние библиотеки и инструменты]]

Revision as of 23:00, 25 November 2018

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.

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