Files
egutierrez f0cb5bce24 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

993 B

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

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.