Portable C++ build system

Viewed 9933

I'm looking for a good and easy in maintenance portable build system for C++ projects. Main platforms should include Windows (Visual Studio 8+) and Linux (gcc); Cygwin may be an advantage. We're considering two main possibilities: CMake and Boost.Jam. SCons can be also an option, but I haven't investigated it yet. CMake and Boost.Jam seem to have the following traits:

CMake:

  • (+) generates native "makefile" (solution for Windows, project for Eclipse)
  • (+) extensions for testing and packaging
  • (-) demands a configuration file in every project folder
  • (-) based on a little too verbose peculiar language

Boost.Jam:

  • builds by itself with no intermediate steps
  • (-) doesn't generate native solutions/projects
  • (+) concise language similar to the classic makefile
  • (+) intuitive support for properties like multithreading and static/dynamic library

What are other possibilities and what is really preferable after experience? What build systems can create a solution on the way?

4 Answers
Related