Build system
From Freehackers
Contents |
[edit] Criteria
- Ease of use
- Documentation
- Performance
- Windows/unix support
- Support for cross-compilation
[edit] Contenders
[edit] CMake
- Used by KDE for compilation
- Documentation is not very good, but the mailing list is very reactive for questions.
- Generation of makefiles, or Visual Studio projects
- Lack support for cross-compilation
- Written in c.
- Works very well
- Language for specifying the rule is a bit simplistic and underdocumented
[edit] Scons
- Written in python.
- Perf issues on big project (was the main problem when kde tested it)
- It is a replacement of make itself, it won't generate any project file but is used directly to build the project. It can be integrated into Visual Studio as a custom build rule.
- language for writing rules : python
[edit] Waf
- waf is initially a fork of scons but has now gone its own life
- 100kb Python script, no installation needed
- Projects using waf: XMMS2, ...
- language for writing rules : python, or xml
- waf is a build tool itself, it does not generate projects for external build tools
- windows support ?
- cross compilation ?
[edit] premake
- build project generator
- support for makefiles, Visual Studio (all versions), SharpBuilder, MonoDevelop
- Written in C, code is quite small
- rules written in lua
[edit] autoconf/autotools
- arf :-)
- use obfuscated M4 language, lot of files, a nightmare to maintain.
- historically the only one, hence still used on lot of projects