JetBrains / JetBrains/rd

Improving rd-cpp

Open
#259 2 comments 0 reactions 4 assignees Claimed by @mfilippov View on GitHub
enhancement
Dominant language
C#
Stars
417
Forks
62
Avg merge
9h 15m
Merged PRs (30d)
7

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 = NumberOfBrokenABIs*NumOfToolchains*2.
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:
1. Conan/vcxpkg integration

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.