| commit | 095f1d351a5a2553a29c7a735f1d2aaa56c26b96 | [log] [tgz] |
|---|---|---|
| author | Marina Ciocea <marinaciocea@google.com> | Wed Dec 14 18:24:47 2022 -0500 |
| committer | Marina Ciocea <marinaciocea@google.com> | Thu Dec 15 17:20:52 2022 +0000 |
| tree | 63e7a0208ae490b27c55ec4dad3d0d6507fff8c7 | |
| parent | a7398372e0f1934448adbf97702ad9509ace3e13 [diff] |
[cppdap] Add OWNERS file Add as owners the owners of the code that calls into this dependency. The OWNERS file is generated by `fx update-3p-owners`. Bug: 102810 Change-Id: Iebbe424345a171f5e438e0fc3946d10bc501237b Reviewed-on: https://fuchsia-review.googlesource.com/c/third_party/github.com/google/cppdap/+/777245 Reviewed-by: Brett Wilson <brettw@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