Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi,
I wanted to use Cloudini in my project but not just the off the shelf topic converter node. I wanted to link directly against the libraries and use the available APIs in my source code. However, there were some issues that I had to fix:
pcl_roshas more exported dependencies than the system libraryPCL. And annoyingly,find_package(pcl_ros)overwrites exported dependencies that come withfind_package(PCL). So if a downstream project (as in my case) is using onlyfind_package(PCL)in their cmake then there will betarget was not founderrors for targets such asusblib::usblib. Since in any case onlyCOMMONandIOcomponents of thePCLare being used in Cloudini, I removedpcl_rosreferences to keep it more lightweight and avoid unnecessary dependencies in downstream packages (although this is more ofpcl_rosoverwriting issue, but well, thought it would be better in any case to keep things efficient).cloudini_rostargets not being exportedament_export_dependenciesexpects full package name so had to replace${PLUGIN_DEPS}(as it includes targets) with the package names.Some furthur improvements:
PCLalready exports its libraries as targets so things like${PCL_INCLUDE_DIRS}are no more necessaryament_export_include_directoriesorament_export_librariesare also unnecessary ascloudini_rosnow already exports targets.