КАК группировать файлы заголовков в подпапках заголовков в общей папке файлов заголовков, используя Cmake - PullRequest
2 голосов
/ 15 октября 2010

Привет, я строю систему сборки на основе Cmake. Я хотел бы сгруппировать заголовочные файлы в папки (VC ++ может это сделать) в общей папке Headr Files. Похоже, я хотел бы сгруппировать соответствующие файлы .cpp в папки в каталоге исходных файлов. К сожалению, я не смог найти никаких инструкций о том, как это сделать.

Пожалуйста, помогите.

Dimitre

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Вы можете использовать source_group .Вот конкретный пример.

Предположим, у вас есть структура каталогов, например:

|-include
    | some.h
    |-sub
       | someother.h 
|-src
   | some.cpp
   |-sub
      |-someother.cpp

Соберите файлы (некоторые люди, включая документацию, не рекомендуют использовать GLOB, но я оставляю это вамвы можете перечислить их по одному, если хотите, хотя я считаю, что GLOB просто отлично много раз):

file(GLOB HEADER_FILES "${CMAKE_CURRENT_SOURCE_DIR}/include/*.h")
file(GLOB HEADER_FILES_SUB "${CMAKE_CURRENT_SOURCE_DIR}/include/sub/*.h")
file(GLOB SOURCE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/src/*.h")
file(GLOB SOURCE_FILES_SUB "${CMAKE_CURRENT_SOURCE_DIR}/src/sub/*.h")

# Setup your library or executable:
add_library(MY_LIB ${HEADER_FILES} ${HEADER_FILES_SUB}
                   ${SOURCE_FILES} ${SOURCE_FILES_SUB})

# Here's the important part ("Header Files" and "Source Files" are literals.)
source_group("Header Files\\sub" ${HEADER_FILES_SUB})
source_group("Source Files\\sub" ${SOURCE_FILES_SUB})
0 голосов
/ 15 октября 2010

Вы должны взглянуть на команду CMake source_group .

...