Below lists notable build automation tools.
Make
Tools similar to the original Unix make – one of the earliest build automation tools:
Other
- Apache Ant, popular for Java platform development and uses an XML file format
- Apache Maven, a Java platform tool for dependency management and automated software build
- ASDF LISP build system for building LISP projects
- A-A-P, a Python-based build tool
- Bazel, a portion of Blaze (Google's own build tool) written in Java, using Starlark (BUILD file syntax) to build projects in Java, C, C++, Go, Python, Objective-C, and others
- BitBake, a Python-based tool with the special focus of distributions and packages for embedded Linux cross-compilation
- Boot, a Java build and dependency management tool written in Clojure
- boost.build For C++ projects, cross-platform, based on Perforce Jam
- Buck, a build system developed and used by Facebook, written in Rust, using Starlark (BUILD file syntax) as Bazel
- Buildout, a Python-based build system for creating, assembling and deploying applications from multiple parts
- Cabal, a common architecture for building applications and libraries in the language Haskell
- Dub, the official package and build manager of the D Language
- Flowtracer, a build management tool
- Gradle, an open-source build and automation system with an Apache Groovy-based domain specific language (DSL), combining features of Apache Ant and Apache Maven with more features like a reliable incremental build
- Grunt, a build tool for front-end web development
- Gulp, a build tool for front-end web development
- IncrediBuild, a suite of grid computing software for compiling and building software
- Leiningen, a tool providing commonly performed tasks in Clojure projects, including build automation
- Mix, the Elixir build tool
- MSBuild, the Microsoft build engine
- NAnt, a tool similar to Ant for the .NET Framework
- Ninja, a small build system focused on speed by using build scripts generated by higher-level build systems
- Perforce Jam, a build tool by Perforce, inspired by Make
- Qt Build System
- Rake, a Ruby-based build tool
- sbt, a build tool built on a Scala-based DSL
- SCons, Python-based, with integrated functionality similar to autoconf/automake
- Stack, a tool to build Haskell projects, manage their dependencies (compilers and libraries), and to test and benchmark.
- Visual Build, a graphical user interface software for software builds
- Waf, a Python-based tool for configuring, compiling and installing applications. It is a replacement for other tools such as Autotools, Scons, CMake or Ant
These generator tools do not build directly, but rather generate files to be used by a native build tool (as the ones listed in the previous two sections).
- CMake generates files for various build tools, such as make, ninja, Apple's Xcode, and Microsoft Visual Studio.[2] CMake is also directly used by some IDE as Qt Creator,[3] KDevelop and GNOME Builder.[4]
- GNU Build System (aka autotools), a collection of tools for portable builds. These in particular include Autoconf and Automake, cross-unix-platform tools that together generate appropriate localized makefiles.
- GYP (Generate Your Projects) - Created for Chromium; it is another tool that generates files for the native build environment. It has been superseded by GN which generates files for ninja and other build systems.
- imake
- Meson, a build system optimized for performance and usability is based on ninja on Linux, Visual Studio on Windows and Xcode on macOS. Meson is also directly used by GNOME Builder.[4]
- OpenMake Software Meister
- Premake, a Lua-based tool for making makefiles, Visual Studio files, Xcode projects, and more
- qmake
- AnthillPro, build automation with pipeline support for deployment automation and testing. Cross-platform, cross-language
- Apache Continuum - discontinued
- Bamboo, continuous-integration software
- Bitbucket Pipelines and Deployments, continuous integration for Bitbucket hosted repositories[5]
- Buildbot, a Python-based software development continuous-integration tool which automates the compile/test cycle
- CruiseControl, for Java and .NET
- Go continuous delivery, open source, cross-platform
- GitLab (GitLab Runner), continuous integration and git server
- GitHub (GitHub Actions), free continuous integration service for open-source projects and git server
- Hudson, an extensible continuous-integration engine
- Jenkins, an extensible continuous-integration engine, forked from Hudson
- Spinnaker, open source multi-cloud continuous delivery service from Netflix and Google
- TeamCity
- Travis CI, a hosted continuous-integration service
A package manager is a meta-build tool capable of building many different projects using a subset of existing build tools, generally using a list or repository of build scripts called "packages".
- checkinstall, checkinstall is a program that monitors an installation procedure and creates a standard package for your distribution.
- Open Build Service, a hosted service to help build packages for various Linux distributions
More information Tool name, Description ...
Tool name |
Description |
License |
A-A-P |
recipe |
GNU GPL |
Ant |
XML |
Apache License 2.0 |
AnthillPro |
Wraps Make, Ant, Maven, MsBuild, Nant, etc. for controlled build, deploy, test processes. |
Discontinued |
Bamboo |
continuous integration |
Trialware |
Bazel |
BUILD/Starlark, a Python-like DSL |
Apache License 2.0 |
Boot |
Clojure |
Eclipse Public License |
Capistrano |
XML |
MIT License |
CMake |
uses CMakeLists.txt file |
New BSD License |
Collective Knowledge Framework |
Python scripts with JSON API and JSON meta-description |
New BSD License |
Continuum |
? |
Apache License 2.0 |
CruiseControl |
XML |
BSD-style license |
Dub |
JSON, SDL |
MIT License |
Gradle |
Groovy-based DSL; Kotlin-based DSL |
Apache License 2.0 |
Jenkins |
continuous integration |
MIT License |
Homebrew |
Ruby |
Simplified BSD License |
Leiningen |
Clojure |
Eclipse Public License |
make |
uses Makefile |
Same as the bundling OS |
Maven |
Project Object Model |
Apache License 2.0 |
Meson build system |
custom DSL |
Apache License 2.0 |
MPW Make |
? |
Freeware |
MSBuild |
XML |
MIT License |
NAnt |
XML |
GNU GPL |
nmake |
uses Makefile |
Freeware |
Open Build Service |
uses various package and image description formats (spec, dsc, ARCH, kiwi) |
GNU GPL |
Perforce Jam |
uses Jamfile |
Discontinued |
Rake |
Ruby |
MIT License |
sbt (Simple Build Tool) |
Scala-based DSL |
New BSD License |
SCons |
Python |
MIT License |
Team Foundation Server |
MSBuild, Windows Presentation Foundation, JSON - REST interfaces, Programmatic (Can generate definitions through code) |
Trialware |
Visual Build |
XML |
Trialware |
Waf |
Python |
New BSD License |
Close