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>. Относительные пути интерпретируются относительно текущего каталога исходных файлов. -
REGULAR_EXPRESSION -
Любой исходный файл, имя которого соответствует регулярному выражению, будет помещен в группу
<name>.
Если исходный файл соответствует нескольким группам, будет отдаваться предпочтение последней группе, которая явно перечисляет файл с FILES, если таковая имеется. Если ни одна группа явно не перечисляет файл, предпочтение будет отдано последней группе, регулярное выражение которой соответствует файлу.
Имя группы и аргумент <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–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.24/command/source_group.html