Как я могу использовать систему сборки CMake, которая теперь сканирует исходные файлы с помощью AUX_SOURCE_DIRECTORY, а также проверяет файлы заголовков в том же каталоге, предпочтительно с помощью аналогичной команды?
Я пока не нашел простого способа сделать это в документации, поэтому теперь у меня есть дрянной сценарий bash для пост-обработки моего файла проекта (CodeBlocks) ...





Документация к AUX_SOURCE_DIRECTORY предполагает, что он не предназначен для использования таким образом, поэтому я скорее сомневаюсь, что то, о чем вы спрашиваете, возможно. Если вам нужен авторитетный ответ, вы можете связаться с разработчиками CMake по адресу [email protected] (на самом деле с ними очень приятно иметь дело).
Я настоятельно рекомендую не использовать подстановочные знаки для указания того, что включено в сборку. Файлы сборки должны указывать точное содержимое библиотек и не зависеть от того, что происходит в каталоге. Сначала это может быть громоздко (если вы привыкли к подстановочным знакам или IDE, которые работают одинаково), но когда вы привыкнете к этому, вы не захотите, чтобы это было по-другому.
Вы можете использовать команду file (GLOB ...). Например:
set(dir my_search_dir)
file (GLOB headers "${dir}/*.h")
message("My headers: " ${headers})
Эта команда также может выполнять рекурсию и выводить список ваших файлов относительно заданного пути. См. ввод команды "файл" в документе cmake.