Skip to content

Commit

Permalink
docs: add direct links to C API docs (#432)
Browse files Browse the repository at this point in the history
  • Loading branch information
cwaldren-ld authored Aug 9, 2024
1 parent 068f6c3 commit 9c621cf
Showing 1 changed file with 25 additions and 18 deletions.
43 changes: 25 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
|--------------------------------------------------------------|--------------------------------------------------------|-------------------------------------------------------------------|
Expand Down Expand Up @@ -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:

Expand Down Expand Up @@ -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'
Expand All @@ -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'
Expand All @@ -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

0 comments on commit 9c621cf

Please sign in to comment.