Libraries and Dependencies: Difference between revisions
From The DarkMod Wiki
Jump to navigationJump to search
Rewrote everything due to third-party cleaning of #4822 |
Wrote about conan, ThirdParty dir, and readme. |
||
Line 1: | Line 1: | ||
''' | All the third-party libraries are downloaded, configured and built using [https://conan.io/ conan package manager]. | ||
This is the recommended way to handle libraries. | |||
Read file '''ThirdParty/readme.md''' for more details about this way. | |||
This | 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 <tt>ThirdParty</tt> subdirectory. | |||
# All the binaries (e.g. .lib and .a files) '''must''' be inside <tt>ThirdParty/artefacts</tt> 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_update. | |||
{| class="wikitable" | {| class="wikitable" |
Revision as of 08:49, 2 May 2019
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_update.
Name | Notes | License | Initial TDM Version |
---|---|---|---|
DevIL | last C version (1.7.8) | LGPL 2.1 | 1.03 |
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 |