Как автоматически добавить заголовочные файлы в проект? - PullRequest
4 голосов
/ 09 ноября 2008

Как мне использовать систему сборки CMake, которая теперь сканирует исходные файлы, используя AUX_SOURCE_DIRECTORY , сканировать заголовочные файлы тоже в том же каталоге, предпочтительно с помощью аналогичной команды?

Я еще не нашел простой способ сделать это в документации, поэтому у меня теперь есть дрянной скрипт bash для пост-обработки моего файла проекта (CodeBlocks) ...

Ответы [ 2 ]

9 голосов
/ 21 ноября 2008

Вы можете использовать команду file (GLOB ...). Например:

set(dir my_search_dir)
file (GLOB headers "${dir}/*.h")
message("My headers: " ${headers})

Эта команда также может выполнять рекурсию и выводить список ваших файлов по заданному пути. См. запись команды «file» в документе cmake.

0 голосов
/ 16 ноября 2008

Документация к AUX_SOURCE_DIRECTORY предполагает, что он не предназначен для такого использования, поэтому я бы предпочел сомневаться в том, что то, что вы спрашиваете, возможно. Если вам нужен авторитетный ответ, вы можете связаться с разработчиками CMake по адресу cmake@cmake.org (с ними действительно очень приятно иметь дело).

Я бы настоятельно рекомендовал не использовать подстановочные знаки для указания того, что включено в сборку. Файлы сборки должны указывать точное содержимое библиотек и не зависеть от того, что происходит в каталоге. Сначала это может быть громоздким (если вы привыкли к подстановочным знакам или IDE, которые работают таким же образом), но когда вы к этому привыкнете, вы не захотите использовать его по-другому.

...