summaryrefslogtreecommitdiff
path: root/Help/index.rst
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2019-11-28 16:33:27 +0100
committerBrad King <brad.king@kitware.com>2020-01-13 11:04:55 -0500
commitbd681fee7a0f0fb95af4a71255774b52f9ea26da (patch)
tree8c411d1a8927a4ca5966df0028ce5692d4658352 /Help/index.rst
parent618526580065cc0161bbd84723ece3ea01a497b4 (diff)
downloadcmake-bd681fee7a0f0fb95af4a71255774b52f9ea26da.tar.gz
Help: Add guides for user interaction
Add some prose to the documentation index page to guide readers to the major manuals and guides. Add a new "User Interaction Guide" to help the class of new user who wishes to build a project with CMake for the first time, such as after cloning a repo from a git repository. Add a new "Using Dependencies Guide" to help the class of new user who wishes to consume a SDK provided by a third party and needs a starting point. This is a different type of user to the user who wishes to create their own project from scratch (addressed by the `cmake-buildsystem(7)` manual) as each will encounter needs for information discovery in a different order.
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