source_group
Определяет группу исходных файлов при создании проектов IDE. Существует два варианта сигнатуры для создания групп исходных файлов.
source_group(<name> [FILES <src>...] [REGULAR_EXPRESSION <regex>]) source_group(TREE <root> [PREFIX <prefix>] [FILES <src>...])
Определяет группу, в которую будут помещены исходные файлы в файлах проекта. Это предназначено для настройки вкладок файлов в Visual Studio. Группа действует в каталоге, в котором вызвана команда, и применяется к исходным файлам в целях, созданных в этом каталоге.
Параметры:
-
TREE -
Добавлено в версии 3.8.
CMake автоматически определит по путям файлов
<src>группы исходных файлов, которые необходимо создать, чтобы структура групп исходных файлов аналогично отражала фактическую структуру файлов и каталогов в проекте. Пути файлов<src>будут преобразованы в относительные пути относительно<root>. Команда завершится с ошибкой, если пути вsrcне начинаются сroot. -
PREFIX -
Добавлено в версии 3.8.
Группа исходных файлов и файлы, расположенные непосредственно по пути
<root>, будут помещены в группы исходных файлов<prefix>. -
FILES -
Любой явно указанный исходный файл будет помещён в группу
<name>. Относительные пути интерпретируются относительно текущего каталога исходных файлов.Добавлено в версии 4.3: Аргументы для
FILESмогут использоватьgenerator expressions. -
REGULAR_EXPRESSION -
Любой исходный файл, имя которого соответствует регулярному выражению, будет помещён в группу
<name>.
Если исходный файл соответствует нескольким группам, приоритет будет отдан последней группе, в которой файл явно указан с помощью FILES, если такая группа есть. Если файл явно не указан ни в одной группе, приоритет будет отдан последней группе, регулярному выражению которой соответствует файл.
В <name> группы и аргументе <prefix> можно использовать прямые или обратные косые черты для указания подгрупп. Обратные косые черты необходимо экранировать соответствующим образом:
source_group(base/subdir ...) source_group(outer\\inner ...) source_group(TREE <root> PREFIX sources\\inc ...)
Добавлено в версии 3.18: Разрешено использовать прямые косые черты (/) для указания подгрупп.
Для обратной совместимости краткая сигнатура
source_group(<name> <regex>)
эквивалентна
source_group(<name> REGULAR_EXPRESSION <regex>)
© 2000–2026 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/latest/command/source_group.html