5

Я сделал проект на C++ в Linux, и я сгруппировал исходные файлы во многих каталогах, чтобы организовать себя.Как сохранить иерархию исходных папок в проводнике решений?

Я использовал CMake для компиляции с одним CMakeFiles.txt в каждом подкаталоге.

srcs 
|--folderA 
| |--Toto.cpp 
| |--Tata.cpp 
| 
|--folderB 
| |--Foo.cpp 
| |--Bar.cpp 
[...] 

Недавно я открыл его с Visual Studio 2015, который нашел каждый исходный файл, а просто поставить весь список на папку «Source Files» в обозревателе решений.

Source Files 
|--Toto.cpp 
|--Tata.cpp 
|--Foo.cpp 
|--Bar.cpp 

Я планирую иметь огромное количество файлов, и скоро их будет сложно найти.

Есть ли способ явно сказать, что он уважает иерархию папок в проводнике решений?

+0

Какая версия CMake? –

+0

@JamesAdkison Я использую последний, 3.3.1. – Aracthor

+1

Я добавил пример реализации assign_source_group, который может оказаться полезным для моего ответа в [Как установить фильтры Visual Studio для вложенной подкаталога с помощью cmake] (http://stackoverflow.com/questions/31422680/how-to-set -Visual-студия-фильтры-для-вложенный подкаталог-используя-CMake/31423421 # 31423421). – Florian

ответ

3

Используйте команду source_group.

source_group (<name> [ФАЙЛЫ <src>...] [REGULAR_EXPRESSION <regex>])

Определяет группу, в которую источники будут размещены в файлах проекта. Это предназначено для настройки вкладок файлов в Visual Studio. Возможны следующие варианты:

ФАЙЛЫ Любой исходный файл, указанный явно, будет помещен в группу. Относительные пути интерпретируются относительно текущего каталога источника.

REGULAR_EXPRESSION Любой исходный файл, имя которого соответствует регулярному выражению, будет помещен в группу.