I'm taking the chance of being downvoted but, I must admit, that unfortunately there is no real substitute for autotools. CMake, SCons, bjam are nice but, when it comes to serious work... it is quite clear that autotools are superior, not because CMake can't do the same thing, but because it is just much harder to do so with it.
For example, CMake, the most popular alternative to autotools, has the following drawbacks:
- No support of gettext. This may be a real problem when you need to manage a lot of translations and translated source code.
- No support for an uninstall target. It is quite unpleasant to find out that you can't uninstall the program you installed.
- No automatic build of both shared and static libraries.
- Documentation is very limited and bad.
And so on.
There are many other points. Unfortunately, there is no real high quality substitute for autotools. On the other hand, if you develop on Windows and for Visual Studio, then you can't use autotools and you need to choose CMake that provides such tools.