From fea270d3edd77de3930c57b316ed9391792aab6d Mon Sep 17 00:00:00 2001
From: Robert Maynard <rmaynard@nvidia.com>
Date: Tue, 15 Mar 2022 14:13:00 -0400
Subject: Help: Document cmake source and binary dir selection rules

Co-authored-by: Brad King <brad.king@kitware.com>
---
 Help/manual/cmake.1.rst | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/Help/manual/cmake.1.rst b/Help/manual/cmake.1.rst
index f7d4f6b..9a2b2ef 100644
--- a/Help/manual/cmake.1.rst
+++ b/Help/manual/cmake.1.rst
@@ -151,6 +151,26 @@ source and build trees and generate a buildsystem:
 
 In all cases the ``<options>`` may be zero or more of the `Options`_ below.
 
+The above styles for specifying the source and build trees may be mixed.
+Paths specified with ``-S`` or ``-B`` are always classified as source or
+build trees, respectively.  Paths specified with plain arguments are
+classified based on their content and the types of paths given earlier.
+If only one type of path is given, the current working directory (cwd)
+is used for the other.  For example:
+
+============================== ============ ===========
+ Command Line                   Source Dir   Build Dir
+============================== ============ ===========
+ ``cmake src``                  ``src``      `cwd`
+ ``cmake build`` (existing)     `loaded`     ``build``
+ ``cmake -S src``               ``src``      `cwd`
+ ``cmake -S src build``         ``src``      ``build``
+ ``cmake -S src -B build``      ``src``      ``build``
+ ``cmake -B build``             `cwd`        ``build``
+ ``cmake -B build src``         ``src``      ``build``
+ ``cmake -B build -S src``      ``src``      ``build``
+============================== ============ ===========
+
 After generating a buildsystem one may use the corresponding native
 build tool to build the project.  For example, after using the
 :generator:`Unix Makefiles` generator one may run ``make`` directly:
-- 
cgit v0.12