This PR adds a configuration option that allows you to enable snapshots
of SQLite3.
https://sqlite.org/c3ref/snapshot.html
The main use case is handling in WAL mode. Previously, SQLite3 in vcpkg
did not support database snapshot handling. This PR will extend the
functionality of SQLite3 by supporting it.
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] SHA512s are updated for each updated download.
- [x] The "supports" clause reflects platforms that may be fixed by this
new version.
- [x] Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.
- [x] Any patches that are no longer applied are deleted from the port's
directory.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.
<!-- If your PR fixes issues, please note that here by adding "Fixes
#NNNNNN." for each fixed issue on separate lines. -->
<!-- If you are still working on the PR, open it as a Draft:
https://github.blog/2019-02-14-introducing-draft-pull-requests/. -->
- [x] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [x] SHA512s are updated for each updated download.
- [x] The "supports" clause reflects platforms that may be fixed by this
new version.
- [x] Any fixed [CI
baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt)
entries are removed from that file.
- [x] Any patches that are no longer applied are deleted from the port's
directory.
- [x] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [x] Only one version is added to each modified port's versions file.
<!-- If this PR adds a new port, please uncomment and fill out this
checklist:
- [ ] Changes comply with the [maintainer
guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md).
- [ ] The name of the port matches an existing name for this component
on https://repology.org/ if possible, and/or is strongly associated with
that component on search engines.
- [ ] Optional dependencies are resolved in exactly one way. For
example, if the component is built with CMake, all `find_package` calls
are REQUIRED, are satisfied by `vcpkg.json`'s declared dependencies, or
disabled with
[CMAKE_DISABLE_FIND_PACKAGE_Xxx](https://cmake.org/cmake/help/latest/variable/CMAKE_DISABLE_FIND_PACKAGE_PackageName.html).
- [ ] The versioning scheme in `vcpkg.json` matches what upstream says.
- [ ] The license declaration in `vcpkg.json` matches what upstream
says.
- [ ] The installed as the "copyright" file matches what upstream says.
- [ ] The source code of the component installed comes from an
authoritative source.
- [ ] The generated "usage text" is accurate. See
[adding-usage](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/examples/adding-usage.md)
for context.
- [ ] The version database is fixed by rerunning `./vcpkg x-add-version
--all` and committing the result.
- [ ] Only one version is in the new port's versions file.
- [ ] Only one version is added to each modified port's versions file.
END OF NEW PORT CHECKLIST (delete this line) -->
I tested this pr on x64-linux and it works fine.
* [sqlite3] Update to 3.42.0
* version
* Add cmake wrapper
* Test cmake wrapper
* version
* Add libsqlite3 to library names
* version
* WIP
* version
* restore original
* Remove cmake wrapper
* version
* Remove wrapper
* Remove all unused features
* version
* Remove unused features
* version
* only remove 1 variable
* version
* .
* version
* make json1 default feature
* version
* [sqlite3] Control features with a configuration header rather than CMake or pkgconfig.
Resolves https://github.com/microsoft/vcpkg/pull/29335
Alternate of https://github.com/microsoft/vcpkg/pull/29258
@Neumann-A points out that controlling features through CMake configs and pkgconfig causes MSBuild customers to be left out in the cold. Moreover, attempting to add parenthesis to the SQLITE_API marco breaks autotools. This change makes such parenthesis unnecessary and ensures the configuration bits are used with automatic linking.
* Ensure feature controls affect the .c too, use less MAYBE_UNUSED.
* Correctly note that zlib has no effect without tools.
* Always add DL_LIBS even when static linking.
* [sqlitecpp] Unconditionally enable column metadata because that is done in the sqlite3 port.
* Add missing -l prefix on CMAKE_DL_LIBS
* [sqlite3] Remove the restriction of using find_dependency(Threads) only under static linking
* x-add-version
Co-authored-by: Cheney-Wang <v-xincwa@microsoft.com>
* [sqlite3] Add more features
* version
* Add dependency zlib for feature zlib
* version
* Remove -DSQLITE_API=extern
* version
* Add pre-defines to pkgconfig
* Add new option CFLAGS to get all clfags
* Get pkgconfig cflags, add sqlite3 feature dependency
* version
* doc
* [libdjinterop] update to 0.16.0
* [sqlite3] add pkgconfig file
Linux distributions typically use the SQLite autoconf package,
but this port uses the SQLite amalgamation package with a custom
CMakeLists.txt so the port needs to take care of installing the
pkgconfig file.