I'm fairly new to the list so take my response with a grain of salt. I think you're facing a common challenge with the release strategy of just releasing tarballs for your library and having users compile themselves. When your user base is responsible for acquiring and compiling each of your project's dependencies for themselves, each layer of dependency adds significant complexity to the use of your project. Swapping out for header-only libs, particularly great ones like catch can improve the situation a lot, but I think the fundamental problem is inherent to your current delivery strategy. So, perhaps give that some additional thought.
Yes you're definitely right there, I'm just not sure there are that many alternatives. The way I'm doing things now is "the Linux way", so it's easy for people used to that, and easy for distro maintainers to package the software, but it can be painful for end users. Part of the problems have been that for whatever reason my code seems to have requirements that are somewhat unique, so I tend to find bugs in the dependent libraries I'm using. I report these and they get fixed, but of course it means that for a while I am depending on SVN/git versions of the libraries which means end users not only have to install an extra dependency, but it's already provided by their distro and they have to remove it in order to get the SVN/git version. Eventually this goes away once a release happens and the new version makes it into the various distros, but it's still a pain. I'm not really sure of any other way to do it, aside from the static binaries Gavin suggested. This isn't really "the Linux way" but I guess if it helps people why not. At any rate, my plans at the moment are to try to build a HTTP API for my code, stick it on Amazon Lambda, and write a web version of my program. I'll still have to deal with dependencies to some extent, but Lambda recommend uploading static binaries so at least the deployment part should be relatively pain free. And a web version means no more battling with Windows, Mac and Linux versions and their various compiler quirks - what a relief that will be :) Cheers, Adam.