CMake - Build System Generator

CMake – Build System Generator

CMake is an open source build system generator to build, test, and package software that runs on Linux, FreeBSD, OpenBSD, Solaris, macOS, and Windows.

It uses a compiler-independent method. It is used within native build environments like the Linux build environment, Apple’s Xcode, and Microsoft Visual Studio.

It is written in C and C++ programming languages and is released under the New BSD License. Some examples of projects using CMake are Blender, ReactOS, KDE, and FlightGear Flight Simulator. CMake is a commercially supported open source platform by Kitware with a large community of contributors.

About CMake


CMake is an extensible, open-source system that manages the build process in an operating system and in a compiler-independent manner. Unlike many cross-platform systems, CMake is designed to be used in conjunction with the native build environment. Simple configuration files placed in each source directory (called CMakeLists.txt files) are used to generate standard build files (e.g., makefiles on Unix and projects/workspaces in Windows MSVC) which are used in the usual way.


CMake can generate a native build environment that will compile source code, create libraries, generate wrappers and build executables in arbitrary combinations. CMake supports in-place and out-of-place builds, and can therefore support multiple builds from a single source tree. CMake also supports static and dynamic library builds.


Another nice feature of CMake is that it generates a cache file that is designed to be used with a graphical editor. For example, when CMake runs, it locates files, libraries, and executables, and may encounter optional build directives. This information is gathered into the cache, which may be changed by the user prior to the generation of the native build files.


Source: CMake’s overview page

CMake GUI in Windows

CMake GUI in Windows


Next Open Source Tuesday will feature the Joplin project.

%d bloggers like this: