Я бы сказал, что Cmake - это определенно правильный путь: он позволит вам поддерживать только один набор файлов (CMakeLists.txt) и вы сможете создавать проекты для всех версий Visual Studio, для Eclipse Xcode и make-файлы для gcc, CC и т.д ...
С точки зрения сложности настройки cmake: в большинстве случаев это не так много работы. Вам не нужно указывать список файлов для включения, как вы упоминаете в своем комментарии к ответу Хайме. Вы можете включить (glob) папку. Таким образом, при добавлении новых исходных файлов они будут включаться в ваше решение всякий раз, когда вы обновляете его с помощью команды cmake.
Также наличие вашего проекта в cmake может помочь в настройке среды непрерывной интеграции, такой как Hudson. Он может отслеживать ваш репозиторий кода (svn) и вызывать cmake при отправке изменений, создавать ваш проект, запускать модульные тесты.
project(MyNeatProject)
include_directories(h/ hpp/)
file(GLOB_RECURSE _my_src ./c/*.c)
file(GLOB_RECURSE _my_hdr ./h/*.h)
add_library( some_library SHARED ${YBMBS_SRC} ${YBMBS_HDR})
target_link_libraries( some_library dependency1 dependency2)