Skip to content

Improving rd-cpp #259

Open
Open
@DecoyRS

Description

This issue is a topic starter for a problem of distribution and integration of rd-cpp.
We have had multiple attempts to pack rd-cpp into dll's for easier distribution (and packing into nuget, easy my ass) to be able to use it inside RiderLink project (plugin for Unreal Engine).

We had next number of issues:

  1. Breaking ABI in STL between minor versions of toolchain (I'm looking at you, MSVC). Every breakage means adding new version of rd-cpp distribution;
  2. Need to pack both Release and Debug dll's (so all versions need to multiply by 2);
  3. Different toolchains not compatible between each other (again, need to multiply by N number of supported toolchains, so MSVC, Clang, GCC?)
    NUMBER_OF_BUILDS = NumberOfBrokenABIsNumOfToolchains2.
    If I recall correctly, dll's for 1 version of toolchain could eat up to 200 MBs which is insane.
    Personal opinion, it's a dead end.

If we're accpeting the state that we're not able to distribute rd-cpp in dll's, we need to be able to share it as a source package.
What are the requirements in this case:

  1. Option to add rd-cpp as a submodule w/o dependencies rd-kt, rd-net, rd-xxx
  2. Minimal CMakeLists.txt to add rd-cpp w/o tests
  3. Make it compatible with -no-exceptions and -no-rtti projects
  4. Add option to use custom allocators
    Optionals:
  5. Conan/vcxpkg integration

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions