mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-05 13:20:47 -06:00
source_group: Add options create groups matching directory tree
Add `TREE` and `PREFIX` arguments to enable this behavior.
This commit is contained in:
@@ -2,15 +2,27 @@ source_group
|
||||
------------
|
||||
|
||||
Define a grouping for source files in IDE project generation.
|
||||
There are two different signatures to create source groups.
|
||||
|
||||
.. code-block:: cmake
|
||||
::
|
||||
|
||||
source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>])
|
||||
source_group(TREE <root> [PREFIX <prefix>] [FILES <src>...])
|
||||
|
||||
Defines a group into which sources will be placed in project files.
|
||||
This is intended to set up file tabs in Visual Studio.
|
||||
The options are:
|
||||
|
||||
``TREE``
|
||||
CMake will automatically detect, from ``<src>`` files paths, source groups
|
||||
it needs to create, to keep structure of source groups analogically to the
|
||||
actual files and directories structure in the project. Paths of ``<src>``
|
||||
files will be cut to be relative to ``<root>``.
|
||||
|
||||
``PREFIX``
|
||||
Source group and files located directly in ``<root>`` path, will be placed
|
||||
in ``<prefix>`` source groups.
|
||||
|
||||
``FILES``
|
||||
Any source file specified explicitly will be placed in group
|
||||
``<name>``. Relative paths are interpreted with respect to the
|
||||
@@ -25,11 +37,13 @@ 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:
|
||||
The ``<name>`` of the group and ``<prefix>`` argument may contain backslashes
|
||||
to specify subgroups:
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
source_group(outer\\inner ...)
|
||||
source_group(TREE <root> PREFIX sources\\inc ...)
|
||||
|
||||
For backwards compatibility, the short-hand signature
|
||||
|
||||
|
||||
Reference in New Issue
Block a user