I've written a nice piece of open source C/C++ software, which runs great on my Mac. It has some dependencies (OpenGL, LibTiff, Zlib, libXML, and libXML++) and it also requires Python. Although I used to build with AutoTools, I'm currently moving to CMake.
The question is how to distribute my code so (1) it's as easy as possible for my potential users, and (2) the distribution process is relatively painless for me. I want my code to run on as many possible varieties of Mac, Windows, and Linux platforms. To make installation easy for users, I'd like to distribute pre-compiled binaries. However, then is there an easy way for me to compile for a wide variety of platforms? And how do I handle dependencies? Do I statically link as many of them as possible, using the appropriate platform version of each one, and just hope that users have the other dependencies and that my software finds them?
How do commercial software developers handle these problems?