f0cb5bce24
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).
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.