Skip to content

Commit 7293de6

Browse files
authored
Update HERE SDK for C++ documentation (#1345)
Update documentation due to technical writing standards: Changed Getting Started Guide and README file. Relates-To: TECHDOCS-1227 Signed-off-by: Nataliia Plakhtii <[email protected]>
1 parent 46c2a03 commit 7293de6

File tree

2 files changed

+100
-114
lines changed

2 files changed

+100
-114
lines changed

README.md

Lines changed: 0 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,6 @@ HERE Data SDK for C++ is a C++ client for the <a href="https://platform.here.com
2929
| :------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
3030
| Linux | <a href="https://codecov.io/gh/heremaps/here-data-sdk-cpp/" target="_blank"><img src="https://codecov.io/gh/heremaps/here-data-sdk-cpp/branch/master/graph/badge.svg" alt="Linux code coverage"/></a> |
3131

32-
## Why use
33-
34-
Data SDK for C++ provides support for the core HERE platform use cases through a set of native C++ interfaces. The Data SDK is intended to save your time and effort on using HERE REST APIs. It provides a set of stable APIs that simplify complex platform operations and keeps up to date with the latest HERE REST API changes.
35-
36-
Data SDK for C++ is a modern (C++11), lightweight, and modular SDK with minimal dependencies targeted towards a wide range of hardware platforms from embedded devices to desktops.
37-
38-
This SDK lets you:
39-
40-
- Authenticate to HERE platform.
41-
- Read catalog and partition metadata.
42-
- Retrieve data from versioned, volatile, and stream layers of the platform catalogs.
43-
- Upload data to the platform.
44-
45-
Additionally, the Data SDK includes classes for work with geospatial tiling schemes that are used by most platform catalog layers.
46-
4732
## Backward compatibility
4833

4934
We try to develop and maintain our API in a way that preserves its compatibility with the existing applications. Changes in Data SDK for C++ are greatly influenced by the Data API development. Data API introduces breaking changes 6 months in advance. Therefore, you may need to migrate to a new version of Data SDK for C++ every half a year.
@@ -93,100 +78,6 @@ sudo apt-get update && sudo apt-get --yes install git g++ make cmake libssl-dev
9378
> #### Note
9479
> Please note that on some Linux distribution, the default libcurl version can be lower than the required v7.52.0. In that case, you need to install the required libcurl version from a different PPA.
9580
96-
## Install the SDK
97-
98-
By default, the Data SDK downloads and compiles its dependencies. The versions of the downloaded dependencies may conflict with the versions that are already installed on your system. Therefore, the downloaded dependencies are not added to the install targets.
99-
100-
You can use the Data SDK in your CMake project or install it on your system.
101-
102-
Тo use the Data SDK directly in your CMake project, add the Data SDK via `add_subdirectory()`.
103-
104-
**To install the Data SDK on your system:**
105-
106-
1. Install all the dependencies needed for the Data SDK.<br>For more information on dependencies, see the [Dependencies](#dependencies) and [Additional Linux dependencies](#additional-linux-dependencies) sections.
107-
108-
2. (Optional) To find the required dependencies in the system, set the `OLP_SDK_BUILD_EXTERNAL_DEPS` flag to `OFF`.
109-
110-
3. (Optional) To build the Data SDK as a shared library, set the `BUILD_SHARED_LIBS` flag to `ON`.
111-
112-
**Example**
113-
114-
The following command builds and installs the Data SDK:
115-
116-
```bash
117-
cmake --build . --target install
118-
```
119-
120-
## Build the SDK
121-
122-
<a href="https://cmake.org/download/" target="_blank">CMake</a> is the main build system. The minimal required version of CMake is 3.9.
123-
124-
CMake downloads <a href="https://github.com/google/leveldb" target="_blank">LevelDB</a>, <a href="https://github.com/google/snappy" target="_blank">Snappy</a>, <a href="https://github.com/Tencent/rapidjson" target="_blank">RapidJSON</a>, and <a href="https://www.boost.org/" target="_blank">Boost</a>. To disable downloading, set `OLP_SDK_BUILD_EXTERNAL_DEPS` to `OFF`. For details on CMake flags, see the [related](#cmake-flags) section.
125-
126-
**To build the Data SDK:**
127-
128-
1. Clone the repository folder.
129-
2. In the root of the repository folder, run the following commands:
130-
131-
```bash
132-
mkdir build && cd build
133-
cmake ..
134-
cmake --build .
135-
```
136-
137-
If you cannot build the Data SDK on Windows using this instruction, see [Build on Windows](#build-on-windows).
138-
139-
<h6 id="build-on-windows"></h6>
140-
141-
### Build on Windows
142-
143-
<a href="https://dev.azure.com/heremaps/here-data-sdk/_build/latest?definitionId=3&branchName=master" target="_blank"><img src="https://dev.azure.com/heremaps/here-data-sdk/_apis/build/status/heremaps.here-data-sdk-cpp?branchName=master&jobName=Windows_build" alt="Windows build status"/></a>
144-
145-
We assume that you have installed CMake, Microsoft Visual Studio 2017, and the Visual C++ tools for CMake component.
146-
147-
**To build the Data SDK on Windows:**
148-
149-
1. Launch Microsoft Visual Studio as administrator.
150-
151-
2. Open the folder containing the Data SDK or a CMake-based project that uses the Data SDK.
152-
153-
3. In Microsoft Visual Studio, check that the target does not contain "(Default)".<br>For example, select "x64-Debug" instead of "x64-Debug (Default)".
154-
155-
4. Using the CMake menu provided by the Visual C++ tools for CMake, generate the `.cmake` files, and build the entire project with default options.
156-
157-
> #### Note
158-
> Microsoft Visual Studio uses a default build directory that has a long path name. Since dependencies for the Data SDK are installed within the build directory, it is recommended that you edit the generated `CMakeSettings.json` file and change the build directory path name to a shorter path name. This ensures that the maximum length of each path is not greater than 260 characters. For details, see the <a href="https://docs.microsoft.com/en-us/windows/desktop/fileio/naming-a-file" target="_blank">Naming Files, Paths, and Namespaces</a> section of the Windows Dev Center documentation.
159-
160-
### Generate documentation with Doxygen
161-
162-
If you want to build documentation from annotated source code, you need to have <a href="http://www.doxygen.nl/" target="_blank">Doxygen</a> and CMake version 3.9 or later.
163-
164-
To generate Doxygen documentation, set the `OLP_SDK_BUILD_DOC` flag to `ON` when running the CMake configuration:
165-
166-
```bash
167-
mkdir build && cd build
168-
cmake -DOLP_SDK_BUILD_DOC=ON ..
169-
cmake --build . --target docs
170-
```
171-
172-
<h6 id="cmake-flags"></h6>
173-
174-
### CMake flags
175-
176-
| Flag | Description |
177-
| :- | :- |
178-
| `BUILD_SHARED_LIBS` | Defaults to `OFF`. If enabled, all libraries are built as shared. |
179-
| `OLP_SDK_BUILD_DOC` | Defaults to `OFF`. If enabled, the API reference is generated in your build directory.<br> **Note:** Before you download the API reference, install <a href="http://www.doxygen.nl/" target="_blank">Doxygen</a>. |
180-
| `OLP_SDK_ENABLE_TESTING` | Defaults to `ON`. If enabled, unit tests are built for each library. |
181-
| `OLP_SDK_BUILD_EXTERNAL_DEPS` | Defaults to `ON`. If enabled, CMake downloads and compiles dependencies. |
182-
| `OLP_SDK_NO_EXCEPTION` | Defaults to `OFF`. If enabled, all libraries are built without exceptions. |
183-
| `OLP_SDK_BOOST_THROW_EXCEPTION_EXTERNAL` | Defaults to `OFF`. When `OLP_SDK_NO_EXCEPTION` is `ON`, `boost` requires `boost::throw_exception()` to be defined. If enabled, the external definition of `boost::throw_exception()` is used. Otherwise, the library uses own definition. |
184-
| `OLP_SDK_MSVC_PARALLEL_BUILD_ENABLE` (Windows Only) | Defaults to `ON`. If enabled, the `/MP` compilation flag is added to build the Data SDK using multiple cores. |
185-
| `OLP_SDK_DISABLE_DEBUG_LOGGING`| Defaults to `OFF`. If enabled, the debug and trace level log messages are not printed. |
186-
| `OLP_SDK_ENABLE_DEFAULT_CACHE `| Defaults to `ON`. If enabled, the default cache implementation based on the LevelDB backend is enabled. |
187-
| `OLP_SDK_ENABLE_DEFAULT_CACHE_LMDB `| Defaults to `OFF`. If enabled, the default cache implementation based on the LMDB backend is enabled. |
188-
| `OLP_SDK_ENABLE_ANDROID_CURL`| Defaults to `OFF`. If enabled, libcurl will be used instead of the Android native HTTP client. |
189-
19081
## Use the SDK
19182

19283
To learn how to use the Data SDK, see the <a href="https://github.com/heremaps/here-data-sdk-cpp/blob/master/docs/GettingStartedGuide.md" target="_blank">Getting Started Guide</a>, <a href="https://developer.here.com/documentation/sdk-cpp/dev_guide/index.html" target="blank">Developer Guide</a>, and <a href="https://developer.here.com/documentation/sdk-cpp/api_reference/index.html" target="_blank">API Reference</a>.

docs/GettingStartedGuide.md

Lines changed: 100 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,16 @@ Working with the Data SDK requires knowledge of the following subjects:
99
- Basic understanding of the core [HERE platform concepts](#concepts).
1010
- Basic proficiency with C++11 and CMake.
1111

12+
For the terms and conditions covering this documentation, see the [HERE Documentation License](https://legal.here.com/en-gb/terms/documentation-license).
13+
1214
## Concepts
1315

1416
To use HERE Data SDK for C++, you need to understand the following concepts related to the HERE platform:
1517

16-
- [Catalogs](https://developer.here.com/documentation/data-user-guide/portal/layers/catalogs.html)
17-
- [Layers](https://developer.here.com/documentation/data-user-guide/portal/layers/layers.html)
18-
- [Partitions](https://developer.here.com/documentation/data-user-guide/portal/layers/partitions.html)
19-
- [HERE Resource Names (HRNs)](https://developer.here.com/documentation/data-user-guide/shared_content/topics/concepts/hrn.html)
18+
- [Catalogs](https://developer.here.com/documentation/data-api/data_dev_guide/rest/catalogs.html)
19+
- [Layers](https://developer.here.com/documentation/data-api/data_dev_guide/rest/layers.html)
20+
- [Partitions](https://developer.here.com/documentation/data-api/data_dev_guide/rest/partitions.html)
21+
- [HERE Resource Names (HRNs)](https://developer.here.com/documentation/data-api/data_dev_guide/rest/hrn.html)
2022

2123
For more details, see the [Data User Guide](https://developer.here.com/documentation/data-user-guide/index.html).
2224

@@ -26,6 +28,70 @@ To work with catalog or service requests to the HERE platform, you need to get a
2628

2729
You can authenticate to the HERE platform within your application with the platform credentials available on the HERE Portal by means of Data SDK for C++ authentication library. For the available authentication options, see the [Identity & Access Management Developer Guide](https://developer.here.com/documentation/identity-access-management/dev_guide/index.html).
2830

31+
## Install the SDK
32+
33+
By default, the Data SDK downloads and compiles its dependencies. The versions of the downloaded dependencies may conflict with the versions that are already installed on your system. Therefore, the downloaded dependencies are not added to the install targets.
34+
35+
You can use the Data SDK in your CMake project or install it on your system.
36+
37+
Тo use the Data SDK directly in your CMake project, add the Data SDK via `add_subdirectory()`.
38+
39+
**To install the Data SDK on your system:**
40+
41+
1. Install all the dependencies needed for the Data SDK.<br>For more information on dependencies, see the [Dependencies](#dependencies) and [Additional Linux dependencies](#additional-linux-dependencies) sections.
42+
43+
2. (Optional) To find the required dependencies in the system, set the `OLP_SDK_BUILD_EXTERNAL_DEPS` flag to `OFF`.
44+
45+
3. (Optional) To build the Data SDK as a shared library, set the `BUILD_SHARED_LIBS` flag to `ON`.
46+
47+
**Example**
48+
49+
The following command builds and installs the Data SDK:
50+
51+
```bash
52+
cmake --build . --target install
53+
```
54+
55+
## Build the SDK
56+
57+
<a href="https://cmake.org/download/" target="_blank">CMake</a> is the main build system. The minimal required version of CMake is 3.9.
58+
59+
CMake downloads <a href="https://github.com/google/leveldb" target="_blank">LevelDB</a>, <a href="https://github.com/google/snappy" target="_blank">Snappy</a>, <a href="https://github.com/Tencent/rapidjson" target="_blank">RapidJSON</a>, and <a href="https://www.boost.org/" target="_blank">Boost</a>. To disable downloading, set `OLP_SDK_BUILD_EXTERNAL_DEPS` to `OFF`. For details on CMake flags, see the [related](#cmake-flags) section.
60+
61+
**To build the Data SDK:**
62+
63+
1. Clone the repository folder.
64+
2. In the root of the repository folder, run the following commands:
65+
66+
```bash
67+
mkdir build && cd build
68+
cmake ..
69+
cmake --build .
70+
```
71+
72+
If you cannot build the Data SDK on Windows using this instruction, see [Build on Windows](#build-on-windows).
73+
74+
<h6 id="build-on-windows"></h6>
75+
76+
### Build on Windows
77+
78+
<a href="https://dev.azure.com/heremaps/here-data-sdk/_build/latest?definitionId=3&branchName=master" target="_blank"><img src="https://dev.azure.com/heremaps/here-data-sdk/_apis/build/status/heremaps.here-data-sdk-cpp?branchName=master&jobName=Windows_build" alt="Windows build status"/></a>
79+
80+
We assume that you have installed CMake, Microsoft Visual Studio 2017, and the Visual C++ tools for CMake component.
81+
82+
**To build the Data SDK on Windows:**
83+
84+
1. Launch Microsoft Visual Studio as administrator.
85+
86+
2. Open the folder containing the Data SDK or a CMake-based project that uses the Data SDK.
87+
88+
3. In Microsoft Visual Studio, check that the target does not contain "(Default)".<br>For example, select "x64-Debug" instead of "x64-Debug (Default)".
89+
90+
4. Using the CMake menu provided by the Visual C++ tools for CMake, generate the `.cmake` files, and build the entire project with default options.
91+
92+
> #### Note
93+
> Microsoft Visual Studio uses a default build directory that has a long path name. Since dependencies for the Data SDK are installed within the build directory, it is recommended that you edit the generated `CMakeSettings.json` file and change the build directory path name to a shorter path name. This ensures that the maximum length of each path is not greater than 260 characters. For details, see the <a href="https://docs.microsoft.com/en-us/windows/desktop/fileio/naming-a-file" target="_blank">Naming Files, Paths, and Namespaces</a> section of the Windows Dev Center documentation.
94+
2995
## Available components
3096

3197
Data SDK for C++ contains separate libraries, each of which has a distinct functionality. For more information about the components, see the [architectural overview](OverallArchitecture.md).
@@ -52,6 +118,36 @@ target_link_libraries(example_app
52118
)
53119
```
54120

121+
### Generate documentation with Doxygen
122+
123+
If you want to build documentation from annotated source code, you need to have <a href="http://www.doxygen.nl/" target="_blank">Doxygen</a> and CMake version 3.9 or later.
124+
125+
To generate Doxygen documentation, set the `OLP_SDK_BUILD_DOC` flag to `ON` when running the CMake configuration:
126+
127+
```bash
128+
mkdir build && cd build
129+
cmake -DOLP_SDK_BUILD_DOC=ON ..
130+
cmake --build . --target docs
131+
```
132+
133+
<h6 id="cmake-flags"></h6>
134+
135+
### CMake flags
136+
137+
| Flag | Description |
138+
| :- | :- |
139+
| `BUILD_SHARED_LIBS` | Defaults to `OFF`. If enabled, all libraries are built as shared. |
140+
| `OLP_SDK_BUILD_DOC` | Defaults to `OFF`. If enabled, the API reference is generated in your build directory.<br> **Note:** Before you download the API reference, install <a href="http://www.doxygen.nl/" target="_blank">Doxygen</a>. |
141+
| `OLP_SDK_ENABLE_TESTING` | Defaults to `ON`. If enabled, unit tests are built for each library. |
142+
| `OLP_SDK_BUILD_EXTERNAL_DEPS` | Defaults to `ON`. If enabled, CMake downloads and compiles dependencies. |
143+
| `OLP_SDK_NO_EXCEPTION` | Defaults to `OFF`. If enabled, all libraries are built without exceptions. |
144+
| `OLP_SDK_BOOST_THROW_EXCEPTION_EXTERNAL` | Defaults to `OFF`. When `OLP_SDK_NO_EXCEPTION` is `ON`, `boost` requires `boost::throw_exception()` to be defined. If enabled, the external definition of `boost::throw_exception()` is used. Otherwise, the library uses own definition. |
145+
| `OLP_SDK_MSVC_PARALLEL_BUILD_ENABLE` (Windows Only) | Defaults to `ON`. If enabled, the `/MP` compilation flag is added to build the Data SDK using multiple cores. |
146+
| `OLP_SDK_DISABLE_DEBUG_LOGGING`| Defaults to `OFF`. If enabled, the debug and trace level log messages are not printed. |
147+
| `OLP_SDK_ENABLE_DEFAULT_CACHE `| Defaults to `ON`. If enabled, the default cache implementation based on the LevelDB backend is enabled. |
148+
| `OLP_SDK_ENABLE_DEFAULT_CACHE_LMDB `| Defaults to `OFF`. If enabled, the default cache implementation based on the LMDB backend is enabled. |
149+
| `OLP_SDK_ENABLE_ANDROID_CURL`| Defaults to `OFF`. If enabled, libcurl will be used instead of the Android native HTTP client. |
150+
55151
## Reference documentation
56152

57153
The API reference documentation for Data SDK for C++ is available on our [GitHub Pages](https://heremaps.github.io/here-data-sdk-cpp/).
@@ -64,4 +160,3 @@ HERE Data SDK for C++ contains several example programs that demonstrate some of
64160
- [Read example for a stream layer](dataservice-read-from-stream-layer-example.md) – demonstrates how to get data from a stream layer.
65161
- [Cache example](dataservice-cache-example.md) – demonstrates how to get partition data and work with a mutable and protected cache.
66162
- [Write example](dataservice-write-example.md) – demonstrates how to publish data to OLP.
67-

0 commit comments

Comments
 (0)