Search code examples
build-processmakefile

What is currently the best build system


A few years ago I looked into using some build system that isnt Make, and tools like CMake and SCons seemed pretty primitive. I'd like to find out if the situation has improved. So, under the following criteria, what is currently the best build tool:

  • platform agnostic: should work on windows, linux, mac
  • language agnostic: should have built-in support for common things like building C/C++ and other static langs. I guess it doesn't need to support the full autotools suite.
  • extensible: I need to be able to write rules to generate files, like from restructuredText, latex, custom formats, etc. I dont really care what language I have to write the rules in, but I would prefer a real language rather than a DSL.
  • I would prefer to avoid writing any XML by hand, which I think for example ant requires.
  • Freely available (preferably open source)

The term "best" is slightly subjective, but I think answers can be rated objectively by the criteria above.


Solution

  • I'd definitively put my vote up for premake. Although it is not as powerful as it's older brothers, it's main advantage is absurd simplicity and ease of use. Makes writing multi-compiler, multi-platform code a breeze, and natively generates Visual Studio solutions, XCode projects, Makefiles, and others, without any additional work needed.