Help: Format and clarify source_group() documentation (#14631)

Refine the .rst formatting.  Document the FILES option explicitly
and specify how it treats relative paths.
This commit is contained in:
Brad King 2013-12-05 13:22:57 -05:00
parent e1af1d3592
commit 0060e955db
1 changed files with 30 additions and 14 deletions

View File

@ -1,28 +1,44 @@
source_group
------------
Define a grouping for sources in the makefile.
Define a grouping for source files in IDE project generation.
::
.. code-block:: cmake
source_group(name [REGULAR_EXPRESSION regex] [FILES src1 src2 ...])
source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>])
Defines a group into which sources will be placed in project files.
This is mainly used to setup file tabs in Visual Studio. Any file
whose name is listed or matches the regular expression will be placed
in this group. If a file matches multiple groups, the LAST group that
explicitly lists the file will be favored, if any. If no group
explicitly lists the file, the LAST group whose regular expression
matches the file will be favored.
This is intended to set up file tabs in Visual Studio.
The options are:
The name of the group may contain backslashes to specify subgroups:
``FILES``
Any source file specified explicitly will be placed in group
``<name>``. Relative paths are interpreted with respect to the
current source directory.
::
``REGULAR_EXPRESSION``
Any source file whose name matches the regular expression will
be placed in group ``<name>``.
If a source file matches multiple groups, the *last* group that
explicitly lists the file with ``FILES`` will be favored, if any.
If no group explicitly lists the file, the *last* group whose
regular expression matches the file will be favored.
The ``<name>`` of the group may contain backslashes to specify subgroups:
.. code-block:: cmake
source_group(outer\\inner ...)
For backwards compatibility, this command also supports the format:
For backwards compatibility, the short-hand signature
::
.. code-block:: cmake
source_group(name regex)
source_group(<name> <regex>)
is equivalent to
.. code-block:: cmake
source_group(<name> REGULAR_EXPRESSION <regex>)