Libraries
Purpose: Overview of all external dependencies used by ProjT Launcher
Overview
ProjT Launcher includes several third-party libraries for various functionality. This document provides a quick reference to all external dependencies.
Detached Fork Libraries
These libraries are detached forks — independently maintained by Project Tick, not synchronized with original repositories:
Compression
| Library | Purpose | License | Documentation |
|---|---|---|---|
| zlib | DEFLATE compression | zlib | zlib.md |
| bzip2 | Block-sorting compression | BSD-like | bzip2.md |
| QuaZip | Qt ZIP wrapper | LGPL-2.1+ | quazip.md |
Data Formats
| Library | Purpose | License | Documentation |
|---|---|---|---|
| toml++ | TOML parser | MIT | tomlplusplus.md |
| libnbt++ | NBT format | GPL-3.0 | libnbtplusplus.md |
| cmark | Markdown parser | BSD-2-Clause | cmark.md |
Utilities
| Library | Purpose | License | Documentation |
|---|---|---|---|
| libqrencode | QR code generation | LGPL-2.1+ | libqrencode.md |
Build System
| Library | Purpose | License | Documentation |
|---|---|---|---|
| Extra CMake Modules | CMake utilities | BSD-3-Clause | extra-cmake-modules.md |
Original READMEs
Each detached fork retains its original upstream documentation. These are preserved for reference but are not actively maintained by Project Tick:
| Library | Documentation |
|---|---|
| toml++ | tomlplusplus/README.md |
| libqrencode | libqrencode/README.md |
| ECM | extra-cmake-modules/README.md |
| zlib | zlib/README-cmake.md, zlib/FAQ |
| bzip2 | bzip2/bzip2.txt, bzip2/manual.html |
| cmark | cmark/changelog.txt, cmark/man/ |
| QuaZip | quazip/QuaZip-1.x-migration.md |
| libnbt++ | libnbtplusplus/include/ (headers) |
For Project Tick–specific documentation and usage, refer to the handbook pages linked above.
Internal Libraries
These are ProjT Launcher-specific libraries:
gamemode gamemode/
Performance optimization daemon integration.
- Upstream: GitHub
- License: BSD-3-Clause
- Use: Linux gaming performance optimization
LocalPeer LocalPeer/
Single-instance application enforcement.
- Origin: Derived from QtSingleApplication
- License: BSD
- Use: Prevents multiple launcher instances
murmur2 murmur2/
Hash function implementation.
- Origin: SMHasher
- License: Public Domain
- Use: Content hashing for mods
rainbow rainbow/
Color manipulation functions.
- Origin: KGuiAddons
- License: LGPL-2.1+
- Use: Adaptive text coloring
systeminfo systeminfo/
System information probing.
- License: Apache-2.0
- Use: Hardware/OS detection
qdcss qdcss/
Quick and dirty CSS parser.
- Origin: NilLoader
- License: LGPL-3.0
- Use: Mod metadata parsing
External Dependencies
These are system/Qt dependencies not bundled:
Qt Framework
| Module | Purpose |
|---|---|
| Qt Core | Base functionality |
| Qt GUI | UI rendering |
| Qt Widgets | UI components |
| Qt Network | HTTP/networking |
| Qt Concurrent | Threading |
System Libraries
| Library | Purpose | Platforms |
|---|---|---|
| OpenSSL | TLS/HTTPS | All |
| libpng | PNG images | All |
| zlib (system) | Alternative to bundled | Optional |
License Summary
| License | Libraries |
|---|---|
| MIT | toml++ |
| BSD-2/3-Clause | cmark, gamemode |
| BSD-like | bzip2, LocalPeer |
| zlib | zlib |
| LGPL-2.1+ | QuaZip, rainbow, libqrencode |
| LGPL-3.0 | qdcss |
| GPL-3.0 | libnbt++ |
| Apache-2.0 | systeminfo |
| Public Domain | murmur2 |
Adding New Dependencies
When adding new libraries:
- Evaluate license compatibility with GPL-3.0
- Create handbook documentation in
docs/handbook/ - Update this file with the new entry
- Add CI workflow if needed
- Update CMakeLists.txt for build integration