
In his excellent book “Software Build Systems: Principles and Experience”, Peter Smith observes SCons and I quote him verbatim. Ninja is an open-source project hosted here. In Visual Studio 2019, Linux projects can directly be build using CMake and Ninja. Ninja is a small open source build system that is designed to have its input files generated by a higher-level build system (like CMake) and is designed to run builds as fast as possible. In the spirit of “show not tell” let me include this image: CMake is an open-source project hosted here.įor a product to exist there has to be a Unique Selling Proposition (USP). But take my word, many new open-source C++ projects are either already on CMake or migrating to it. In the true spirit of “show not tell”, I leave the rest of this exposition of CMake to those blog posts. Here they are:ĭo check them out to see why modern CMake is the true successor of Make. I have been raving about CMake in a series of previous blog posts. Despite its age, make is still the most commonly used tool for building software. As the project grows, Makefiles can become very complicated. Standalone make as a build system is easy to implement and easy to maintain for simple projects. If yes, how to update the target à Run the recipe.Is the target out of date? à Prerequisites have changed.Executing these shell commands brings the target up-to-date. The recipe line starts with a tab character and consists of shell commands. Separated by a semicolon are its prerequisites. A target is a filename which in our case is shownottell. Shownottell: show.c tell.c gcc –o shownottell show.c tell.cĪ rule contains a target and recipe. Make uses simple text files called Makefiles to guide the build. No wonder, as it was created in 1977! Make is available in all versions of Unix like systems, Macintosh systems, and even Windows through Cygwin or natively thorough nmake.

The operative word here is showcased because I want not to merely state the facts but to illustrate what the top open-source C++ build systems are and why they are considered to be the top.ĭon’t tell me the moon is shining show me the glint of light on broken glass. In this blog post, I want to showcase the top seven open-source C++ build systems.
