Add BUILD_IDLC_ONLY option to only build the IDL preprocessor#1564
Add BUILD_IDLC_ONLY option to only build the IDL preprocessor#1564PetervdPerk-NXP wants to merge 2 commits intoeclipse-cyclonedds:masterfrom
Conversation
eboasson
left a comment
There was a problem hiding this comment.
I see the value of being able to build only IDLC, but doing it by having an option that then builds a special subset seems likely to suffer from bit-rot.
The more elegant way would be to reorganise things a little bit so that IDLC is essentially a separate subdirectory (instead of being spread out of over tools/idl* and idl). It seems it would then not be too far from allowing the IDLC CMake to also work as a stand-alone project.
There are some complicating factors, one is ddsrt, and the other is the "dependency" on the core library. That dependency is really limited to the code for supporting the constructing of XTypes TypeObjects, and those are very intimately tied to DDS. The IDLC code can run without generating those, so we could leave that bit out of a stand-alone IDLC build.
So I suppose the question is: would that direction be of interest to you?
@dpotman do feel free to chime in if you have some good ideas 🙂
|
Makes sense to refactor, a long term goal would also to make the CDR serializer/deserializer standalone option. The idea would be to only build the IDLC compiler and the CDR serializer as a library so that other modules i.e. Zenoh can use it serialize IDL to communicate with CycloneDDS/ROS2 using zenoh-plugin-dds. The question is if we can nicely decuple both IDLC and |
|
@PetervdPerk-NXP, regarding building only the IDL compiler, you could also consider to build only the specific cmake target: |
66da0c5 to
c43d453
Compare
c43d453 to
349dc2f
Compare
This PR adds a CMake option to only build the idlc tool.
Which is useful for projects using cyclonedds as a depedency but are not interested in using the dds part.