Introduction
CMake is a tool to manage building of source code. Originally, CMake was
designed as a generator for various dialects of Makefile
, today
CMake generates modern buildsystems such as Ninja
as well as project
files for IDEs such as Visual Studio and Xcode.
CMake is widely used for the C and C++ languages, but it may be used to build source code of other languages too.
People encountering CMake for the first time may have different initial goals. To learn how to build a source code package downloaded from the internet, start with the :guide:`User Interaction Guide`. This will detail the steps needed to run the :manual:`cmake(1)` or :manual:`cmake-gui(1)` executable and how to choose a generator, and how to complete the build.
The :guide:`Using Dependencies Guide` is aimed at developers wishing to get started using a third-party library.
For developers starting a project using CMake, the :guide:`CMake Tutorial` is a suitable starting point. The :manual:`cmake-buildsystem(7)` manual is aimed at developers expanding their knowledge of maintaining a buildsystem and becoming familiar with the build targets that can be represented in CMake. The :manual:`cmake-packages(7)` manual explains how to create packages which can easily be consumed by third-party CMake-based buildsystems.