summaryrefslogtreecommitdiff
path: root/Help/dev/source.rst
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-06-14 14:47:38 -0400
committerBrad King <brad.king@kitware.com>2017-06-14 15:03:50 -0400
commit4e3483c0074e07efaffd5269a4b5fb1a38a2bc50 (patch)
tree25ba9c3237fc6bff4ebfae9e47e18452b0e55e9f /Help/dev/source.rst
parentc8b4da583878177099b3aa9c6eb895f968ccf11a (diff)
downloadcmake-4e3483c0074e07efaffd5269a4b5fb1a38a2bc50.tar.gz
Help/dev: Update source code guide to cover source tree layout
Diffstat (limited to 'Help/dev/source.rst')
-rw-r--r--Help/dev/source.rst45
1 files changed, 45 insertions, 0 deletions
diff --git a/Help/dev/source.rst b/Help/dev/source.rst
index 7e44995593..0fa8d77d78 100644
--- a/Help/dev/source.rst
+++ b/Help/dev/source.rst
@@ -58,3 +58,48 @@ need to be handled with care:
When assigning the result of ``.size()`` on a container for example,
the result should be assigned to ``size_t`` not to ``std::size_t``,
``unsigned int`` or similar types.
+
+Source Tree Layout
+==================
+
+The CMake source tree is organized as follows.
+
+* ``Auxiliary/``:
+ Shell and editor integration files.
+
+* ``Help/``:
+ Documentation.
+
+ * ``Help/dev/``:
+ Developer documentation.
+
+ * ``Help/release/dev/``:
+ Release note snippets for development since last release.
+
+* ``Licenses/``:
+ License files for third-party libraries in binary distributions.
+
+* ``Modules/``:
+ CMake language modules installed with CMake.
+
+* ``Packaging/``:
+ Files used for packaging CMake itself for distribution.
+
+* ``Source/``:
+ Source code of CMake itself.
+
+* ``Templates/``:
+ Files distributed with CMake as implementation details for generators,
+ packagers, etc.
+
+* ``Tests/``:
+ The test suite.
+
+* ``Utilities/``:
+ Scripts, third-party source code.
+
+ * ``Utilities/Sphinx/``:
+ Sphinx configuration to build CMake user documentation.
+
+ * ``Utilities/Release/``:
+ Scripts used to package CMake itself for distribution on ``cmake.org``.