8 Commits

Author SHA1 Message Date
Ben Clayton
773f0dff68 Add support for fuzzing cppdap
Add build rules, scripts, basic corpus, and dictionary.
Currently requires recent clang toolchain.
2020-06-05 10:53:52 +01:00
Ben Clayton
cc93ba9747 Add the ability to derive message types from one another.
`DAP_IMPLEMENT_STRUCT_TYPEINFO_EXT` and `DAP_STRUCT_TYPEINFO_EXT` are two new flavors of `DAP_IMPLEMENT_STRUCT_TYPEINFO` and `DAP_STRUCT_TYPEINFO` that allow you to derive message types.

This involved a bit of reworking on the serializer interfaces.

Added test.

Issue: #32
2020-06-02 17:18:32 +01:00
Ben Clayton
3e6cfd6c2f CMake: Make the cppdap target's include directory public
Avoids having to pull this in as an explicit include directory for projects that depend on cppdap.
2020-01-24 12:53:20 +00:00
Ben Clayton
93b861004e examples: Suffix package exe with .exe on Windows
Without this the vscode extension cannot find the example executable, and the example fails.

Also use $USERPROFILE instead of  $HOME for finding the `.vscode` user directory for installing the extension.

Bug: #12
2020-01-17 20:07:55 +00:00
Ben Clayton
cc7b68a365 CMakeLists.txt: Make it easier to control options from dependee projects. 2019-12-02 13:55:45 +00:00
Ben Clayton
dc3b3eaeb3 CMakeLists.txt: Disable MSVC warning from third_party
`nlohmann/json` raises a `size_t` to `int` MSVC warning that will fail the build if `CPPDAP_WARNINGS_AS_ERRORS` is enabled.
Given that this is not our code, the best we can do is to make an exception for this warning.
2019-11-26 17:59:58 +00:00
Ben Clayton
010e3e3c86 CMakeLists.txt: Make it easier to specify third_party vars.
Only set the third_party directory variables if they're not already set
(by the dependee project).
2019-11-18 13:00:26 +00:00
Ben Clayton
2dfd15462f Initial drop of cppdap 2019-11-08 21:58:50 +00:00