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).
47 lines
1.5 KiB
Bash
Executable File
47 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Descarga las libs precompiladas de DuckDB para linux y windows en
|
|
# cpp/vendor/duckdb/{linux,windows}/. El header duckdb.h vive en include/
|
|
# y SI esta versionado.
|
|
#
|
|
# Uso:
|
|
# ./download_duckdb.sh # ambas plataformas
|
|
# ./download_duckdb.sh linux # solo linux
|
|
# ./download_duckdb.sh windows # solo windows
|
|
|
|
set -euo pipefail
|
|
|
|
VERSION="v1.1.3"
|
|
HERE="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
TMP="$(mktemp -d)"
|
|
trap "rm -rf $TMP" EXIT
|
|
|
|
target="${1:-all}"
|
|
|
|
dl_linux() {
|
|
echo "[duckdb] downloading linux libs..."
|
|
curl -sL -o "$TMP/lin.zip" \
|
|
"https://github.com/duckdb/duckdb/releases/download/${VERSION}/libduckdb-linux-amd64.zip"
|
|
mkdir -p "$HERE/linux"
|
|
unzip -o "$TMP/lin.zip" -d "$TMP/lin/" > /dev/null
|
|
cp "$TMP/lin/libduckdb.so" "$HERE/linux/"
|
|
echo "[duckdb] -> $HERE/linux/libduckdb.so ($(du -h "$HERE/linux/libduckdb.so" | cut -f1))"
|
|
}
|
|
|
|
dl_windows() {
|
|
echo "[duckdb] downloading windows libs..."
|
|
curl -sL -o "$TMP/win.zip" \
|
|
"https://github.com/duckdb/duckdb/releases/download/${VERSION}/libduckdb-windows-amd64.zip"
|
|
mkdir -p "$HERE/windows"
|
|
unzip -o "$TMP/win.zip" -d "$TMP/win/" > /dev/null
|
|
cp "$TMP/win/duckdb.dll" "$HERE/windows/"
|
|
cp "$TMP/win/duckdb.lib" "$HERE/windows/"
|
|
echo "[duckdb] -> $HERE/windows/duckdb.dll ($(du -h "$HERE/windows/duckdb.dll" | cut -f1))"
|
|
}
|
|
|
|
case "$target" in
|
|
linux) dl_linux ;;
|
|
windows) dl_windows ;;
|
|
all) dl_linux; dl_windows ;;
|
|
*) echo "Uso: $0 [linux|windows|all]"; exit 1 ;;
|
|
esac
|