У меня есть проект, который использует команду target_sources для добавления файлов в проект. Мне нужно, чтобы эти файлы были сгруппированы в IDE с той же иерархией, что и в файловой системе. Я был уверен, что команда source_group с параметром TREE может выполнить sh this.
Когда я пытаюсь что-то вроде следующего:
add_library(MyTarget "")
target_sources(MyTarget
PRIVATE
Source/A/FileA.cpp
Source/A/FileA.h
Source/B/FileB.cpp
Source/B/FileB.h
)
source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}/Source" PREFIX "Source" FILES ${SOURCES})
Этот код не имеет никакого значения в иерархию IDE. Поведение по умолчанию для цели VS2017 - поместить все файлы. cpp в «Исходные файлы» и все файлы .h в «Файлы заголовков», что непригодно для моего проекта.
Как использовать Команда source_group с опцией TREE, чтобы CMake генерировал иерархию файловой системы в моих файлах проекта IDE?