External Dependencies
Page Status
This page is a placeholder. Content coming soon.
Quick reference for every third-party library: what it provides, why it was chosen, and where it is used.
Library |
Version |
Purpose |
Used In |
|---|---|---|---|
fmt (fmtlib) |
11.1.4 |
String formatting ( |
Throughout |
GSL |
v4.2.0 |
|
Throughout |
png++ |
HEAD |
Header-only libpng wrapper |
|
nlohmann/json |
v3.12.0 |
JSON parsing (header-only) |
|
yaml-cpp |
master |
YAML config file parsing |
|
cpptrace |
v0.7.5 |
Cross-platform stacktrace capture |
|
Google Fruit |
master |
Dependency injection framework |
|
CLI11 |
v2.5.0 |
Command-line argument parsing |
|
GoogleTest |
v1.16.0 |
Testing framework |
|
How dependencies are fetched: CMake FetchContent with pinned versions
System dependencies:
libpngandzlib(viafind_package)The Fruit C++17 workaround: Fruit is built with C++17 during fetch, then restored to C++23
Adding a new dependency: where to add in
lib/CMakeLists.txt, FetchContent pattern to follow
Cross-references: Building, Testing, and Development Workflows for build system details, Dependency Injection with Google Fruit for Fruit specifics