Skip to content
Snippets Groups Projects
Forked from CMake / CMake
8863 commits behind the upstream repository.
Matthew Woehlke's avatar
Matthew Woehlke authored
Add a role that can be used to create local links (a la '`LINK`_'), but
that also applies literal style. This is particularly useful for
referring to subcommands within the command's documentation in a style
that is consistent with ':command:`BAR <foo(BAR)>`' but is much less
verbose.

Although this is intended for subcommands, it works with any local
reference.

Co-authored-by: default avatarBrad King <brad.king@kitware.com>
302f5171
History

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.

Command-Line Tools

Interactive Dialogs

Reference Manuals