summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-06-14 18:47:38 (GMT)
committerBrad King <brad.king@kitware.com>2017-06-14 19:03:50 (GMT)
commit4e3483c0074e07efaffd5269a4b5fb1a38a2bc50 (patch)
tree25ba9c3237fc6bff4ebfae9e47e18452b0e55e9f
parentc8b4da583878177099b3aa9c6eb895f968ccf11a (diff)
downloadCMake-4e3483c0074e07efaffd5269a4b5fb1a38a2bc50.zip
CMake-4e3483c0074e07efaffd5269a4b5fb1a38a2bc50.tar.gz
CMake-4e3483c0074e07efaffd5269a4b5fb1a38a2bc50.tar.bz2
Help/dev: Update source code guide to cover source tree layout
-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 7e44995..0fa8d77 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``.