Replace vendored SQLite amalgamation with build-time generation. by vkalintiris · Pull Request #21779 · netdata/netdata

@vkalintiris

SQLite was vendored as the full amalgamation (sqlite3.c at ~9 MB) in
src/database/sqlite/vendored/. With ~10 updates in git history, this
accumulated ~65 MB of uncompressible blob storage, growing by ~9 MB
per version bump.

This replaces the vendored files with a new CMake module
(NetdataSQLite.cmake) that uses ExternalProject_Add to fetch the
SQLite source tree and generate the amalgamation at build time with
--enable-update-limit (required for the UDL-capable parser grammar).

By default, sources are fetched as a tarball from sqlite.org (~14 MB).
A -DSQLITE_USE_GIT=ON option is available to use a shallow git clone
from GitHub instead.