summaryrefslogtreecommitdiff
path: root/Help/index.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Help/index.rst')
-rw-r--r--Help/index.rst31
1 files changed, 31 insertions, 0 deletions
diff --git a/Help/index.rst b/Help/index.rst
index cc6cee6448..4d9a9c80f5 100644
--- a/Help/index.rst
+++ b/Help/index.rst
@@ -1,5 +1,34 @@
.. title:: CMake Reference Documentation
+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
##################
@@ -53,6 +82,8 @@ Reference Manuals
:maxdepth: 1
/guide/tutorial/index
+ /guide/user-interaction/index
+ /guide/using-dependencies/index
.. only:: html or text