intrepidcs / libicsneo

Intrepid Control Systems device communication library
Other
37 stars 32 forks source link

Consider adding cmake install #29

Open pierreluctg opened 3 years ago

pierreluctg commented 3 years ago

Please consider adding cmake install commands (https://cmake.org/cmake/help/v3.19/command/install.html) for the shared objects (.so) and the udev rules.

This would simplify and standardize the installation of project.

pierreluctg commented 3 years ago

@hollinsky-intrepid, please comment if you are looking for external contribution or not on this.

Thank you

hollinsky-intrepid commented 3 years ago

Hi @pierreluctg,

We had a patch submission at PR #13 at one point, though it looks as though he's closed it. Truth be told the only reason I never accepted it was that I hadn't had the time to validate it.

That didn't address the udev rules either, though, and the linked binary currently requires CAP_NET_RAW and CAP_NET_ADMIN on Linux to be able to communicate with devices over Ethernet. Somehow I'd like to address that, likely with some sort of daemon that allows for multiple library consumers per device at once, which would get the necessary permissions.

We have a rough plan to build and provide package manager packages at some point in the future, likely when we decide how firmware updating should work with the open source API so we can distribute the firmware with it. I'd also like to have DKMS packages for the SocketCAN driver, so we'd do that at the same time.

We're certainly open to hearing what you'd be looking for in an installed solution, distributions, architectures, etc. We've never really needed it because we almost always opt to pull in this repo as a submodule and use the C++ API with fully static linking for our new developments.