Libraries and Dependencies: Difference between revisions
From The DarkMod Wiki
				
				
				Jump to navigationJump to search
				
				
|  Added BLAKE2, glfw, and fltk. |  Updates libs: DevIL no longer used, Tracy is used now. | ||
| Line 17: | Line 17: | ||
| |- | |- | ||
| ! Name !! Notes !! License !! Initial TDM Version | ! Name !! Notes !! License !! Initial TDM Version | ||
| |- | |- | ||
| |[http://www.ijg.org/ libjpeg]                                  ||used by DevIL; JPEG_INTERNALS     ||[https://jpegclub.org/reference/libjpeg-license/ BSD-like]                        ||<1.00 | |[http://www.ijg.org/ libjpeg]                                  ||used by DevIL; JPEG_INTERNALS     ||[https://jpegclub.org/reference/libjpeg-license/ BSD-like]                        ||<1.00 | ||
| Line 53: | Line 51: | ||
| |- | |- | ||
| |[https://www.fltk.org/ fltk]                                   ||used only in tdm_installer        ||[https://www.fltk.org/COPYING.php LGPL 2.0]                                       ||2.09 | |[https://www.fltk.org/ fltk]                                   ||used only in tdm_installer        ||[https://www.fltk.org/COPYING.php LGPL 2.0]                                       ||2.09 | ||
| |- | |||
| |[https://github.com/wolfpld/tracy Tracy]                       ||embedded timeline profiler        ||[https://github.com/wolfpld/tracy/blob/master/LICENSE BSD 3cl]                    ||2.10 | |||
| |- | |||
| |[https://github.com/ianlancetaylor/libbacktrace libbacktrace]  ||used by Tracy                     ||[https://github.com/wolfpld/tracy/blob/master/libbacktrace/LICENSE BSD 3cl]       ||2.10 | |||
| |} | |} | ||
| [[Category:Coding]] | [[Category:Coding]] | ||
Revision as of 05:11, 12 December 2021
All the third-party libraries are downloaded, configured and built using conan package manager. This is the recommended way to handle libraries. Read file ThirdParty/readme.md for more details about this way.
Even if conan is not your good friend, be sure to follow these rules regarding location in the source code repo:
- Everything related to third-party libraries must be inside ThirdParty subdirectory.
- All the binaries (e.g. .lib and .a files) must be inside ThirdParty/artefacts subdirectory, sorted by platform+ABI according to conventions.
Note that some libraries are embedded directly into the source code (MD4 and MD5 hashes, PropTree GUI helper). However, this way is discouraged: think twice and ask guys of forums before using it!
List of libraries
This table is a record of what libraries and dependencies are currently used in TheDarkMod game and tdm_installer.
| Name | Notes | License | Initial TDM Version | 
|---|---|---|---|
| libjpeg | used by DevIL; JPEG_INTERNALS | BSD-like | <1.00 | 
| libpng | used only by DevIL | zlib | 1.03 | 
| libvorbis | BSD-like | <1.00 | |
| libogg | used only by libvorbis | BSD-like | <1.00 | 
| OpenAL Soft | LGPL 2.0 | 2.06 | |
| ALSA | used only by OpenAL (Linux-only) | LGPL 2.1 | 2.08 | 
| FFmpeg | heavily reduced build | LGPL 2.1 | 2.06 | 
| libcurl | MIT-like | <1.00 | |
| mbed TLS | used only by libcurl | Apache 2.0 | 2.03? | 
| minizip | game defines some extensions | zlib | <1.00 | 
| zlib | used by minizip | zlib | <1.00 | 
| pugixml | MIT | 1.03 | |
| tinyformat | BSL 1.0 | 2.08 | |
| doctest | MIT | 2.08 | |
| glfw | zlib | 2.09 | |
| BLAKE2 | used only in tdm_installer | CC0 1.0 | 2.09 | 
| fltk | used only in tdm_installer | LGPL 2.0 | 2.09 | 
| Tracy | embedded timeline profiler | BSD 3cl | 2.10 | 
| libbacktrace | used by Tracy | BSD 3cl | 2.10 |