Generally each library is a little different, but I would look at the solver library wrapper packages in JuliaOpt as the current best practices examples of handling installation and binary dependencies across platforms.
If you have more specific questions you might be able to get more direct recommendations.