Files
fn_registry/cpp/vendor/duckdb/README.md
T
egutierrez 471e14caf7 chore(vendor): vendor DuckDB v1.1.3 + CMake target DuckDB::DuckDB
cpp/vendor/duckdb/ con:
- include/duckdb.h         (C API, versionado)
- download_duckdb.sh       (descarga libs precompiladas para linux/windows)
- .gitignore               (libduckdb.so, duckdb.dll, duckdb.lib, libduckdb_static.a)
- README.md

cpp/CMakeLists.txt anade target INTERFACE 'duckdb_vendored' (alias
DuckDB::DuckDB) que las apps enlazan con target_link_libraries.
duckdb_copy_runtime(<target>) copia la lib runtime al lado del exe en
build time. Primer consumidor: graph_explorer (issue 0010).
2026-05-01 01:25:09 +02:00

32 lines
993 B
Markdown

# DuckDB vendor
DuckDB v1.1.3 (C API) usado por `cpp/functions/duck/` y por apps como
`graph_explorer` (issue 0010 — nodo Table).
## Estructura
```
duckdb/
include/duckdb.h # C API (versionado)
linux/libduckdb.so # gitignored — bajar con download_duckdb.sh
windows/duckdb.dll # gitignored — bajar con download_duckdb.sh
windows/duckdb.lib # gitignored — bajar con download_duckdb.sh
download_duckdb.sh # script de descarga
```
## Setup primera vez
```bash
cd cpp/vendor/duckdb
./download_duckdb.sh # ambas plataformas
./download_duckdb.sh linux # solo lo que vayas a usar
```
## CMake
`cpp/CMakeLists.txt` define el target `duckdb_vendored` (alias `DuckDB::DuckDB`)
que las apps pueden enlazar con `target_link_libraries(<app> PRIVATE DuckDB::DuckDB)`.
El runtime requiere `libduckdb.so` (linux) o `duckdb.dll` (windows) en el
mismo directorio del exe — la regla CMake hace la copia automatica al build.