lcm-proj / lcm

Lightweight Communications and Marshalling
GNU Lesser General Public License v2.1
944 stars 385 forks source link

Use Installed jchart2d #452

Closed shayosler closed 1 year ago

shayosler commented 1 year ago

Possible fix for #451. Removes the bundled jchart2d, instead specifying it as an external dependency.

shayosler commented 1 year ago

Appears to work for Ubuntu, I don't have access to Windows/macOS/fedora machines (or familiarity with those platforms) so I'm not sure if this is a viable solution for them

nosracd commented 1 year ago

Thanks for tackling this issue!

Unfortunately, it doesn't look like completing removing the bundled jchart2d sources will work for all platforms because they don't all have a jchart2d package available to use instead. I do think you're on the right track with refactoring the build system to use an installed version of jchart2d rather than always building from source. My thinking is there should be some sort of fallback mechanism, where cmake tries to use an installed version first then falls back to using the bundled version if that fails. Perhaps it would make sense for the logic to live in some sort of FindJChart2d.cmake file?

shayosler commented 1 year ago

I reverted the removal of the bundled jchart2d, and added a conditional into lcm-java/CMakeLists.txt to select the installed jchart2d if one exists.