commit | fedd4fac7ace3cb5408b74a7637711825c3ef378 | [log] [tgz] |
---|---|---|
author | Haowei Wu <haowei@google.com> | Tue Jan 26 19:48:04 2021 -0800 |
committer | Haowei Wu <haowei@google.com> | Wed Feb 03 19:47:40 2021 +0000 |
tree | 679fd2e3ef98b6a27c82bf6ed27bcf124061d748 | |
parent | 2b055919abb0ff7f5e1fa015c02ac652278a01fc [diff] |
[build] Move rapidjson back to third_party Previously rapidjson were moved to zircon/third_party in order to prevent abs paths to appear in Fuchsia build. This is no longer needed and should be reverted back. Bug: 57392 Change-Id: I4f65524693a428e14c9bbc85450f3327ca4eb1e5 Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/github.com/google/cppdap/+/476224 Reviewed-by: Petr Hosek <phosek@google.com>
cppdap
is a C++11 library (“SDK”) implementation of the Debug Adapter Protocol, providing an API for implementing a DAP client or server.
cppdap
provides C++ type-safe structures for the full DAP specification, and provides a simple way to add custom protocol messages.
cppdap
provides CMake build files to build the library, unit tests and examples.
cppdap
depends on the nlohmann/json
library, and the unit tests depend on the googletest
library. Both are referenced as a git submodules.
Before building, fetch the git submodules with:
cd <path-to-cppdap> git submodule update --init
Next, generate the build files:
cd <path-to-cppdap> mkdir build cd build cmake ..
You may wish to suffix the cmake ..
line with any of the following flags:
-DCPPDAP_BUILD_TESTS=1
- Builds the cppdap
unit tests-DCPPDAP_BUILD_EXAMPLES=1
- Builds the cppdap
examples-DCPPDAP_INSTALL_VSCODE_EXAMPLES=1
- Installs the cppdap
examples as Visual Studio Code extensions-DCPPDAP_WARNINGS_AS_ERRORS=1
- Treats all compiler warnings as errors.Finally, build the project:
make
cppdap
can be built using Visual Studio 2019's CMake integration.
cppdap
in your CMake projectYou can build and link cppdap
using add_subdirectory()
in your project's CMakeLists.txt
file:
set(CPPDAP_DIR <path-to-cppdap>) # example <path-to-cppdap>: "${CMAKE_CURRENT_SOURCE_DIR}/third_party/cppdap" add_subdirectory(${CPPDAP_DIR})
This will define the cppdap
library target, which you can pass to target_link_libraries()
:
target_link_libraries(<target> cppdap) # replace <target> with the name of your project's target
You may also wish to specify your own paths to the third party libraries used by cppdap
. You can do this by setting any of the following variables before the call to add_subdirectory()
:
set(CPPDAP_THIRD_PARTY_DIR <third-party-root-directory>) # defaults to ${CPPDAP_DIR}/third_party set(CPPDAP_JSON_DIR <path-to-nlohmann-json>) # defaults to ${CPPDAP_THIRD_PARTY_DIR}/json set(CPPDAP_GOOGLETEST_DIR <path-to-googletest>) # defaults to ${CPPDAP_THIRD_PARTY_DIR}/googletest add_subdirectory(${CPPDAP_DIR})
Note: This is not an officially supported Google product