Initial Answer: I would suggest using CMake. It is a multi-platform make file generator (generates Visual Studio or Eclipse CDT projects as well).
I did really good experience with it. The best thing I like about it was the ability to produce generic project structure. So you can generically include sub-projects look-up for unit tests etc. without changing the script every time.
They have also lots of modules on how to find pre-installed build libraries, required for the project (like Boost, QT etc.)
Update: In the mean time there was some effort to introduce package management for C++. Some projects worth looking at:
- conan.io integrates with major build tools:
- CMake
- Visual Studio
- Makefile
- XCode
- …
- cpm based on CMake (Note CPM is not being actively maintained.)
- Buckaroo
Note as pointed out by @RAM in the comments cpm is no longer actively maintained.