X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=README.md;h=808ade6160d8df606c0b634f4cc47c528d36c4a5;hb=2250d12f3eb4d76a865f67ce36a861933a4942b4;hp=7a5aff1c7e95215b271c1792a74f0e26e4fbfdd6;hpb=1b59502c521cc804cb712d3ee07dfbba107f2951;p=m6w6%2Flibmemcached diff --git a/README.md b/README.md index 7a5aff1c..808ade61 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,10 @@ # libmemcached -[![Gitter Chat](https://badges.gitter.im/m6w6/libmemcached.svg)](https://gitter.im/m6w6/libmemcached?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) -[![BSD 3-Clause License](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause) +[![Gitter Badge]](https://gitter.im/m6w6/libmemcached) +[![License Badge]](https://opensource.org/licenses/BSD-3-Clause) + +[Gitter Badge]: https://badges.gitter.im/m6w6/libmemcached.svg "Gitter Chat" +[License Badge]: https://img.shields.io/badge/License-BSD%203--Clause-blue.svg "BSD 3-Clause" libmemcached is an open source C/C++ client library and tools for the memcached server (http://memcached.org/). It has been designed to be @@ -15,12 +18,26 @@ side methods. ## Documentation +[![Docs Actions Badge]]( + https://github.com/m6w6/libmemcached/actions?query=workflow%3Adocs-publish-pages) + +[Docs Actions Badge]: + https://github.com/m6w6/libmemcached/workflows/docs-publish-pages/badge.svg?branch=v1.x + "Github Docs Action" + See https://m6w6.github.io/libmemcached +### Building and updating docs + +See [gh-pages/publish](./docs/gh-pages/publish.sh) script and the +[docs-publish-pages](./.github/workflows/docs-publish-pages.yml) workflow, +which automate pushing updated documentation to github pages. + ## Installing -libmemcached uses `CMake`. Please see/edit `CMakeConfig.txt` or use -`ccmake(1)` to set any preferred options. +libmemcached uses `CMake`. +Please see/edit [`CMakeConfig.txt`](./CMakeConfig.txt) or use `ccmake(1)` or +`cmake-gui(1)` to set any preferred options. ### From source @@ -31,8 +48,28 @@ libmemcached uses `CMake`. Please see/edit `CMakeConfig.txt` or use make sudo make install +#### Requirements + +* CMake 3.9+ +* C++11 compiler +* GNU Bison 2.3+ and Flex + +##### Optional dependencies + +* C++17 compiler (required for: tests) +* Intel's libtbb (optional for: tests; for GCC's stdlib parallelism support) +* pthreads (required for: tests, contrib/bin/memaslap, libmemcachedutil/pool) +* libevent (required for: contrib/bin/memaslap) +* Cyrus' libsasl2 (required for: libmemacached/sasl) + ## Testing +[![Codecov Badge]](https://codecov.io/gh/m6w6/libmemcached) + +[Codecov Badge]: + https://codecov.io/gh/m6w6/libmemcached/branch/v1.x/graph/badge.svg + "Code coverage" + Enable the `BUILD_TESTING` setting for a build and run `make test`. cmake -DBUILD_TESTING=ON ../libmemcached @@ -40,25 +77,37 @@ Enable the `BUILD_TESTING` setting for a build and run `make test`. ### Continuous integration -CI/Test results are available at: - -| Provider | Status | OS | Compiler | Arch | -|--------------|---------------------|--------------|------------|-----------------------| -| [Travis CI] | ![Travis CI Badge] | Linux | GNU | arm64, ppc64le, s390x | -| [Cirrus CI] | ![Cirrus CI Badge] | FreeBSD | Clang | amd64 | -| [GH Actions] | ![GH Actions Badge] | Linux, MacOS | GNU, Clang | amd64 | - -Additional project metrics: - -| Provider | Type | Status | -|-----------|---------------|------------------| -| [Codecov] | Code coverage | ![Codecov Badge] | - +[![Travis Badge]](https://travis-ci.org/github/m6w6/libmemcached) +[![Actions Badge]](https://github.com/m6w6/libmemcached/actions?query=workflow%3Acmake-build-ci) +[![Sourcehut Badge]](https://builds.sr.ht/~m6w6/libmemcached) + +[Travis Badge]: + https://api.travis-ci.org/m6w6/libmemcached.svg?branch=v1.x + "Travis CI" +[Actions Badge]: + https://github.com/m6w6/libmemcached/workflows/cmake-build-ci/badge.svg?branch=v1.x + "Github Actions" +[Sourcehut Badge]: + https://builds.sr.ht/~m6w6/libmemcached/commits.svg + "Sourcehut Builds" + +CI/Testing is performed on the following system matrix: + +| OS | Compiler | Arch | Comments | +|------------------|------------------------------|-------------------------|----------------------------| +| Linux | GNU 9 | aarch64, ppc64le, s390x | sasl, coverage, graviton2 | +| Linux | GNU 7/8/9/10, Clang 6/8/9/10 | amd64 | sasl, coverage, sanitizers | +| MacOS | AppleClang 12 | amd64 | sasl, coverage | +| FreeBSD, OpenBSD | Clang 8 | amd64 | sasl, coverage | +| Windows | MSVC 16 | amd64 | no sasl, no tests | +| Solaris | SunPro 12.5 | amd64 | no sasl, no tests, manually| + +libmemcached has been tested against [memcached](https://github.com/memcached/memcached) v1.5 and v1.6. ## ChangeLog -Check out the latest [releases](./releases) or the bundled -[ChangeLog](./ChangeLog) for a comprehensive list of changes. +Check out the latest [releases](https://github.com/m6w6/libmemcached/releases) +or the bundled [ChangeLog](./ChangeLog-1.1.md) for a comprehensive list of changes. ## License @@ -67,25 +116,12 @@ found in the accompanying [LICENSE](./LICENSE) file. ## Contributing -All forms of contribution are welcome! Please see the bundled -[CONTRIBUTING](./CONTRIBUTING.md) note for the general principles followed. - -The list of past and current contributors is maintained in [THANKS](./THANKS). - -The list of current maintainers is available in [AUTHORS](./AUTHORS). - -### Building and updating docs +Please report any issues on the [bug tracker](https://github.com/m6w6/libmemcached/issues). -See [gh-pages/publish](./docs/gh-pages/publish.sh) script, which automates -pushing updated documentation to github pages. +A list of known permanent issues is maintained in [BUGS](./BUGS.md). -[Travis CI]: https://travis-ci.org/github/m6w6/libmemcached "Travis CI Build Status" -[Travis CI Badge]: https://api.travis-ci.org/m6w6/libmemcached.svg?branch=v1.x "Travis CI Build Status" -[Cirrus CI]: https://cirrus-ci.com/github/m6w6/libmemcached "Cirrus CI Build Status" -[Cirrus CI Badge]: https://api.cirrus-ci.com/github/m6w6/libmemcached.svg?branch=v1.x "Cirrus CI Build Status" -[GH Actions]: https://github.com/m6w6/libmemcached/actions?query=workflow%3Acmake-build-ci "GH Actions Build Status" -[GH Actions Badge]: https://img.shields.io/github/workflow/status/m6w6/libmemcached/cmake-build-ci?style=flat "GH Actions Build Status" +All forms of contribution are welcome! Please see the bundled +[CONTRIBUTING](./CONTRIBUTING.md) note for the general principles followed. +The list of current and past maintainers and contributors is available in [AUTHORS](./AUTHORS). -[Codecov]: https://codecov.io/gh/m6w6/libmemcached "Codecov Code Coverage" -[Codecov Badge]: https://codecov.io/gh/m6w6/libmemcached/branch/v1.x/graph/badge.svg "Codecov Code Coverage"