A C++ library to wrap platform-pdm output in protobuf
platform-pdm-proto-wrapper depends on the platform-pdm git submodule. So you should clone the repository with the following command:
git clone git@github.com:carbonengine/pdm-proto-wrapper.git --recurse-submodules
CMake and git should take care of downloading dependencies. So building is as trivial as this:
cmake -S . -B .build
cmake --build .build
- Place the source code somewhere in your project, f.e. a
vendor/pdm-protobuffolder - Use
add_subdirectory(vendor/pdm-protobuf)to add it to your project - Link this with your project:
target_link_libraries(mytarget PUBLIC platform_pdm_proto_wrapper)
- add the
include/directory to your compilers include directories - somewhere in your code do this:
#include <stringstream>
#include <pdm/protobuf.h>
void foo() {
std::stringstream buffer;
// `GetData` and `GetEVEPublicData` return data from the eve_public proto domain.
// `GetEVELauncherData` can be used to return data from the deprecated eve_launcher proto domain.
auto can_serialize = pdm_proto::GetData(&buffer);
if (can_serialize) {
// buffer now contains an instance of the protobuf encoded details.
// Use `ParseFromIStream(&buffer)` to retrieve the actual protobuf structure
}
}- Add
pdm_protobuf.libto your linker libraries
Contribution follows the standard GIT PR model.
By submitting a pull request or otherwise contributing to this project, you agree to license your contribution under the MIT License, and you confirm that you have the right to do so.
© 2026 CCP Games
This software is provided by CCP Games and does not include or distribute any third-party libraries or frameworks.
This software is a PDM proto wrapper, a C++ library to wrap PDM output in protobuf.
Trademark Notice: CCP Games is a trademark of CCP ehf.
This project is licensed under the MIT License. Nothing in the MIT License grants any rights to CCP Games' trademarks or game content.