Ну, это похоже на тип проблемы CMake был создан для решения. Существует определенная кривая обучения, которую я виню в основном за тупую документацию, но сейчас CMake используется во многих проектах с открытым исходным кодом, таких как KDE, OGRE и многих, многих других, поэтому существует множество примеров использования. Здесь также есть базовый учебник .
CMake использует свой собственный синтаксис (который, на мой взгляд, довольно сложный, но все же проще, чем autotools), который используется с генераторами файлов проекта, который поддерживает make, visual studio, кодовые блоки, eclipse и, возможно, другие. Он также имеет генератор установщика, который может создавать установщики NSIS, пакеты Mac OS X и пакеты debian / red hat (и снова, возможно, другие), которые я нахожу весьма полезными.