Open
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:
- 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;
- Need to pack both Release and Debug dll's (so all versions need to multiply by 2);
- 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:
- Option to add rd-cpp as a submodule w/o dependencies rd-kt, rd-net, rd-xxx
- Minimal CMakeLists.txt to add rd-cpp w/o tests
- Make it compatible with -no-exceptions and -no-rtti projects
- Add option to use custom allocators
Optionals: - Conan/vcxpkg integration
Activity