eclipse-cyclonedds/cyclonedds-cxx

Add cyclonedds-cxx to conan

bertaveira opened this issue · 2 comments

Is there plans to add this C++ bindings to conan? Since cyclonedds is already there (the C api) would be nice to also have this one and be able to include as dependency in conan projects.

Currently working on a project that I would like to include cycloneDDS but everything in the project uses conan so it is somewhat of a stopper to no have that option. I don't want to force an entire team to add an extra step to the setup process when everything else is handled automatically by conan.

That would indeed be a nice addition.

Someone in the community was kind enough to create the Conan package for Cyclone (see #1415) and I don't actually know how that works. I think the recipe is at https://github.com/conan-io/conan-center-index/tree/master/recipes/cyclonedds, and so I suppose that doing a cyclonedds-cxx recipe in the same style and proposing it to conan-io in a PR would work but I know as much about the process as you do. Or perhaps less, but certainly not more!

Maybe you can have a look to see what it involves?

I want to add this as a supplement for anyone else who might care. I am using cyclonedds-cxx and I hacked together some conan recipes that "work on my machine" (Fedora OS).

Please note: I did not attempt to adhere to any of Conan's contributing guidelines, and these recipes only support Conan v2 as far as I know. I needed something that worked for my sole use, but hopefully someone else finds it useful.

conan-io/conan-center-index@master...swhinton:conan-center-index:swhinton

Some of the conan recipes I hacked together/modified from their originals to work with conan v2 are as follows:

  • cyclonedds
  • cyclonedds-cxx
  • cyclonedds-idlc (I configured this as a conan "tool" so that I could generate IDL libraries via the CMake functions)
  • iceoryx (I think I had to add fmem and acl as well to get iceoryx working)

I acknowledge it's a mess. Once I got it working, I left it where it was with no intention of cleaning it up to actually merge to conan center. I used this to generate versions of my applications with and without iceoryx for SHM transport, so this would also allow you to do that using the conan package option 'with_shm'. Of course you need to have roudi running and configure QoS to support SHM as well.

Please feel free to poke it, ridicule it, etc. My hope is that you find it useful.

Thanks again to Mr. Boasson and the rest of the development team for such a great open-source DDS implementation.