471e14caf7
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).
32 lines
993 B
Markdown
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.
|