build.sh 864 B

12345678910111213141516171819202122232425262728
  1. #!/bin/bash
  2. set -o pipefail
  3. ROOT_DIR="$(cd "$(dirname "$0")" && pwd)"
  4. cd "$ROOT_DIR"
  5. SQLITE_DEB="$ROOT_DIR/libsqlite3-dev_3.40.1-2+deb12u2_arm64.deb"
  6. SQLITE_PREFIX="$ROOT_DIR/.deps/sqlite"
  7. if [ ! -f "$SQLITE_PREFIX/usr/include/sqlite3.h" ]; then
  8. if [ ! -f "$SQLITE_DEB" ]; then
  9. echo "[ERROR] 缺少 SQLite 开发包: $SQLITE_DEB"
  10. exit 1
  11. fi
  12. echo "[INFO] 准备 SQLite 开发依赖..."
  13. rm -rf "$SQLITE_PREFIX"
  14. mkdir -p "$SQLITE_PREFIX"
  15. dpkg-deb -x "$SQLITE_DEB" "$SQLITE_PREFIX"
  16. fi
  17. echo "[INFO] 编译中..."
  18. cmake -B build -S . \
  19. -DCMAKE_BUILD_TYPE=Release \
  20. -DCMAKE_CXX_FLAGS="-I$SQLITE_PREFIX/usr/include" \
  21. -DCMAKE_EXE_LINKER_FLAGS="-L$SQLITE_PREFIX/usr/lib/aarch64-linux-gnu -Wl,-rpath,$SQLITE_PREFIX/usr/lib/aarch64-linux-gnu"
  22. cmake --build build -j"$(nproc)"
  23. echo "[OK] 编译成功: build/zone_alarm"