diff --git a/README.md b/README.md index 61a16adbc..16fcc6022 100644 --- a/README.md +++ b/README.md @@ -5,11 +5,11 @@ This includes shared libraries, used by SDKs and other tools, as well as SDKs. ## Packages -| Readme | issues | tests | docs | latest release | -|------------------------------------------------------------------------|------------------------------------------------------------------|---------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------| -| [libs/client-sdk](libs/client-sdk/README.md) | [C++ Client SDK][package-cpp-client-issues] | [![Actions Status][cpp-client-ci-badge]][cpp-client-ci] | [![Documentation](https://img.shields.io/static/v1?label=GitHub+Pages&message=API+reference&color=00add8)][cpp-client-docs] | [On Github](https://github.com/launchdarkly/cpp-sdks/releases?q=%22launchdarkly-cpp-client%22) | -| [libs/server-sdk](libs/server-sdk/README.md) | [C++ Server SDK][package-cpp-server-issues] | [![Actions Status][cpp-server-ci-badge]][cpp-server-ci] | [![Documentation](https://img.shields.io/static/v1?label=GitHub+Pages&message=API+reference&color=00add8)][cpp-server-docs] | [On Github](https://github.com/launchdarkly/cpp-sdks/releases?q=%22launchdarkly-cpp-server%22) | -| [libs/server-sdk-redis-source](libs/server-sdk-redis-source/README.md) | [C++ Server SDK - Redis Source][package-cpp-server-redis-issues] | [![Actions Status][cpp-server-redis-ci-badge]][cpp-server-redis-ci] | [![Documentation](https://img.shields.io/static/v1?label=GitHub+Pages&message=API+reference&color=00add8)][cpp-server-redis-docs] | [On Github](https://github.com/launchdarkly/cpp-sdks/releases?q=%22launchdarkly-cpp-server-redis%22) | +| Readme | issues | tests | docs (C++) | docs (C) | latest release | +|------------------------------------------------------------------------|------------------------------------------------------------------|---------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------| +| [libs/client-sdk](libs/client-sdk/README.md) | [C++ Client SDK][package-cpp-client-issues] | [![Actions Status][cpp-client-ci-badge]][cpp-client-ci] | [![Documentation](https://img.shields.io/static/v1?label=GitHub+Pages&message=API+reference&color=00add8)][cpp-client-docs] | [![Documentation](https://img.shields.io/static/v1?label=GitHub+Pages&message=API+reference&color=00add8)][cpp-client-c-docs] | [On Github](https://github.com/launchdarkly/cpp-sdks/releases?q=%22launchdarkly-cpp-client%22) | +| [libs/server-sdk](libs/server-sdk/README.md) | [C++ Server SDK][package-cpp-server-issues] | [![Actions Status][cpp-server-ci-badge]][cpp-server-ci] | [![Documentation](https://img.shields.io/static/v1?label=GitHub+Pages&message=API+reference&color=00add8)][cpp-server-docs] | [![Documentation](https://img.shields.io/static/v1?label=GitHub+Pages&message=API+reference&color=00add8)][cpp-server-c-docs] | [On Github](https://github.com/launchdarkly/cpp-sdks/releases?q=%22launchdarkly-cpp-server%22) | +| [libs/server-sdk-redis-source](libs/server-sdk-redis-source/README.md) | [C++ Server SDK - Redis Source][package-cpp-server-redis-issues] | [![Actions Status][cpp-server-redis-ci-badge]][cpp-server-redis-ci] | [![Documentation](https://img.shields.io/static/v1?label=GitHub+Pages&message=API+reference&color=00add8)][cpp-server-redis-docs] | [![Documentation](https://img.shields.io/static/v1?label=GitHub+Pages&message=API+reference&color=00add8)][cpp-server-redis-c-docs] | [On Github](https://github.com/launchdarkly/cpp-sdks/releases?q=%22launchdarkly-cpp-server-redis%22) | | Shared packages | issues | tests | |--------------------------------------------------------------|--------------------------------------------------------|-------------------------------------------------------------------| @@ -53,24 +53,25 @@ For information on integrating an SDK package please refer to the SDK specific R Various CMake options are available to customize the client/server SDK builds. -| Option | Description | Default | Requires | -|---------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|-------------------------------------------| -| `BUILD_TESTING` | Coarse-grained switch; turn off to disable all testing and only build the SDK targets. | On | N/A | -| `LD_BUILD_UNIT_TESTS` | Whether C++ unit tests are built. | On | `BUILD_TESTING; NOT LD_BUILD_SHARED_LIBS` | -| `LD_TESTING_SANITIZERS` | Whether sanitizers should be enabled. | On | `LD_BUILD_UNIT_TESTS` | -| `LD_BUILD_CONTRACT_TESTS` | Whether the contract test service (used in CI) is built. | Off | `BUILD_TESTING` | -| `LD_BUILD_EXAMPLES` | Whether example apps (hello world) are built. | On | N/A | -| `LD_BUILD_SHARED_LIBS` | Whether the SDKs are built as static or shared libraries. | Off (static lib) | N/A | -| `LD_BUILD_EXPORT_ALL_SYMBOLS` | Whether to export all symbols in shared libraries. By default, only C API symbols are exported because C++ does not have an ABI. Only use this feature if you understand the risk and requirements. A mismatch in ABI could cause crashes or other unexpected behaviors.| Off (hidden) | `LD_BUILD_SHARED_LIBS` | -| `LD_DYNAMIC_LINK_BOOST` | If building SDK as shared lib, whether to dynamically link Boost or not. Ensure that the shared boost libraries are present on the target system. | On (link boost dynamically when producing shared libs) | `LD_BUILD_SHARED_LIBS` | -| `LD_DYNAMIC_LINK_OPENSSL` | Whether OpenSSL is dynamically linked or not. | Off (static link) | N/A | -| `LD_BUILD_REDIS_SUPPORT` | Whether the server-side Redis Source is built or not. | Off | N/A | +| Option | Description | Default | Requires | +|-------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------|-------------------------------------------| +| `BUILD_TESTING` | Coarse-grained switch; turn off to disable all testing and only build the SDK targets. | On | N/A | +| `LD_BUILD_UNIT_TESTS` | Whether C++ unit tests are built. | On | `BUILD_TESTING; NOT LD_BUILD_SHARED_LIBS` | +| `LD_TESTING_SANITIZERS` | Whether sanitizers should be enabled. | On | `LD_BUILD_UNIT_TESTS` | +| `LD_BUILD_CONTRACT_TESTS` | Whether the contract test service (used in CI) is built. | Off | `BUILD_TESTING` | +| `LD_BUILD_EXAMPLES` | Whether example apps (hello world) are built. | On | N/A | +| `LD_BUILD_SHARED_LIBS` | Whether the SDKs are built as static or shared libraries. | Off (static lib) | N/A | +| `LD_BUILD_EXPORT_ALL_SYMBOLS` | Whether to export all symbols in shared libraries. By default, only C API symbols are exported because C++ does not have an ABI. Only use this feature if you understand the risk and requirements. A mismatch in ABI could cause crashes or other unexpected behaviors. | Off (hidden) | `LD_BUILD_SHARED_LIBS` | +| `LD_DYNAMIC_LINK_BOOST` | If building SDK as shared lib, whether to dynamically link Boost or not. Ensure that the shared boost libraries are present on the target system. | On (link boost dynamically when producing shared libs) | `LD_BUILD_SHARED_LIBS` | +| `LD_DYNAMIC_LINK_OPENSSL` | Whether OpenSSL is dynamically linked or not. | Off (static link) | N/A | +| `LD_BUILD_REDIS_SUPPORT` | Whether the server-side Redis Source is built or not. | Off | N/A | **Note:** _if building the SDKs as shared libraries, then unit tests won't be able to link correctly since the SDK's C++ symbols aren't exposed. To run unit tests, build a static library._ > [!WARNING] -> When building shared libraries C++ symbols are not exported, only the C API will be exported. This is because C++ does not have a stable ABI. +> When building shared libraries C++ symbols are not exported, only the C API will be exported. This is because C++ does +> not have a stable ABI. Basic usage example: @@ -167,6 +168,8 @@ our [contributing guidelines](CONTRIBUTING.md) for instructions on how to contri [cpp-client-docs]: https://launchdarkly.github.io/cpp-sdks/libs/client-sdk/docs/html/ +[cpp-client-c-docs]: https://launchdarkly.github.io/cpp-sdks/libs/client-sdk/docs/html/sdk_8h.html + [package-cpp-client-issues]: https://github.com/launchdarkly/cpp-sdks/issues?q=is%3Aissue+is%3Aopen+label%3A%22package%3A+sdk%2Fclient%22+ [//]: # 'libs/server-sdk' @@ -177,6 +180,8 @@ our [contributing guidelines](CONTRIBUTING.md) for instructions on how to contri [cpp-server-docs]: https://launchdarkly.github.io/cpp-sdks/libs/server-sdk/docs/html/ +[cpp-server-c-docs]: https://launchdarkly.github.io/cpp-sdks/libs/server-sdk/docs/html/sdk_8h.html + [package-cpp-server-issues]: https://github.com/launchdarkly/cpp-sdks/issues?q=is%3Aissue+is%3Aopen+label%3A%22package%3A+sdk%2Fserver%22+ [//]: # 'libs/server-sdk-redis-source' @@ -187,4 +192,6 @@ our [contributing guidelines](CONTRIBUTING.md) for instructions on how to contri [cpp-server-redis-docs]: https://launchdarkly.github.io/cpp-sdks/libs/server-sdk-redis-source/docs/html/ +[cpp-server-redis-c-docs]: https://launchdarkly.github.io/cpp-sdks/libs/server-sdk-redis-source/docs/html/redis__source_8h.html + [package-cpp-server-redis-issues]: https://github.com/launchdarkly/cpp-sdks/issues?q=is%3Aopen+is%3Aissue+label%3A%22package%3A+integration%2Fredis%22