I am not familiar with Tensorflow, but I think the most usual way is to write a ROS wrapper package that will expose the functionality to ROS topics/services.
If the compiled version of the library that you want to integrate provides pkg-config
(i.e. *.pc
) file then it should be very easy to add it as a dependency to ROS package. Another way is to write a CMake find module yourself.
Then, you will have to write either a C++ or a Python (if the library has bindings for it) ROS node that does appropriate data conversions and expose necessary interface via ROS topics.
Also, since catkin is based on CMake you can try ExternalProject and build the Tensorflow together with ROS wrapper package. This approach can be preferable if the library cannot be installed with OS package manager (e.g. apt-get on Ubuntu). In this case users will get everything they need from a single repository.
Hope this helps.