CMake рекурсивно сканирует папки?

Как мне настроить CMake для рекурсивного сканирования заданного каталога и определения списка исходных файлов?

Мой проект - общая библиотека. У меня есть структура папок, похожая на эту:

/
  src/              # Source files in an arbitrary tree
  include/          # Headers, tree mirrors that of the src/ folder
  examples/         # Executable code examples that link against the library
  CMakeLists.txt

Я хочу избежать:

  • Загрязнение src/ а также include/ каталоги с бесконечными CMakeLists.txt файлы
  • Необходимость изменять и адаптировать скрипты каждый раз, когда я меняю структуру папок

Однако для каждого примера хорошо иметь собственный скрипт сборки.

1 ответ

Решение

CMake предоставляет следующую команду для рекурсивного перемещения файлов:

file(GLOB_RECURSE variable [RELATIVE path] 
   [FOLLOW_SYMLINKS] [globbing expressions]...)

Документация команды: http://www.cmake.org/cmake/help/v2.8.8/cmake.html

Другие вопросы по тегам