Define a grouping for source files in IDE project generation. There are two different signatures to create source groups.
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
<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
<root>
path, will be placed in <prefix>
source groups.FILES
<name>
. Relative paths are interpreted with respect to the current source directory.REGULAR_EXPRESSION
<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 and <prefix>
argument may contain backslashes to specify subgroups:
source_group(outer\\inner ...) source_group(TREE <root> PREFIX sources\\inc ...)
For backwards compatibility, the short-hand signature
source_group(<name> <regex>)
is equivalent to
source_group(<name> REGULAR_EXPRESSION <regex>)
© 2000–2018 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.12/command/source_group.html