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).
This commit is contained in:
Vendored
+31
@@ -0,0 +1,31 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user