serial icon indicating copy to clipboard operation
serial copied to clipboard

Remove Catkin dependency while keeping CMake's find_package() feature

Open dbolkensteyn opened this issue 8 years ago • 3 comments

From a Catkin project, it is straightforward to add a dependency on a "normal" CMake package. However, the opposite is not true.

This PR relates to #123 and #111 , but with the following 2 changes:

  1. Catkin dependency is fully removed: only CMake is required
  2. Compatibility with find_package() feature is preserved

Here is how a project can depend on this library: https://github.com/dbolkensteyn/serial-lib-consumer I've tested that one both on Linux and Windows - but I do not have an Mac OS X machine available at the moment.

I wanted to keep this PR small, but IMO the following should be done afterwards:

  1. Remove Makefile, visual_studio as well as serial.sublime-project : Those files should not be persisted in the SCM, as they are supposed to be generated by CMake
  2. Update the README.md instructions - relates to #114
  3. [Unrelated] Merge CHANGELOG.rst with changes.txt?

Also, this PR isn't ready to be merged just yet: For instance, I've still have to re-enable the support for testing.

dbolkensteyn avatar Jul 12 '16 17:07 dbolkensteyn

@wjwwood I'm now quite happy with this PR - and the build is passing

Let me know what you think about it - if you're willing to merge this then I'll invest the time to have CMake build the tests again

dbolkensteyn avatar Jul 18 '16 09:07 dbolkensteyn

Looking forward to the next move, I really think it deserve at least a branch without catkin as dependency since there are so many people need this feature, and many of the forks are just doing this particular thing, I really do not think it a good idea for this library to have so many variations just because this problem, it is like a Tower of Babel and finally will do no good to this library since many people, like me, feel not so good to use a forked branch for developments, and chances are that they will try to look for alternatives if they are showing up (but far, no suitable choices 😄 ). And please make it look and feel like PySerial as the said in the README.

Anyway, changes will take time and will have a lot of backward compatibility works for you guys, before that I will just use this PR and waiting. :)

Regards,

--MiaoDX

MiaoDX avatar May 29 '17 02:05 MiaoDX

As I mentioned in the other two pull requests about this issue, my plan is to use CMake only (much as this pr does) going forward, but I want to leave the current version with catkin. I do not, however, want to just take this pr as-is, because I want to keep the package.xml and use exported targets.

However, I will try to use the commits from this pr if I can to give you some attribution for working on this.

wjwwood avatar Jan 13 '18 20:01 wjwwood