посмотрел утилиту cmake, но в документации я не нашел одну вещь: как автоматически строить список исходников. Возможно ли это средствами самого cmake. ЗЫ: версия (2.6-patch 0).
AUX_SOURCE_DIRECTORY
У меня используется вот такая конструкция:
AUX_SOURCE_DIRECTORY(. SRC_FILE)
FOREACH(source_file ${SRC_FILE})
GET_FILENAME_COMPONENT(exe_file ${source_file} NAME_WE)
ADD_EXECUTABLE(${exe_file} ${source_file})
SET_BUILD_DEFS(${source_file} ${exe_file})
ENDFOREACH(source_file)
Можно конечно, но лучше этого не делать, так как часто бывает в проекте лежат всякие мусорные файлы, которые создавались для тестовых нужд. Потом проблемы с линковкой огребешь.
Да и если у тебя несколько таргетов как ты будешь на автомате отличать сорцы одного таргета от другого ? Всякие правила по префиксам писать ?
Там можно директорию указать. А мусорные файлы негоже вместе с проектом хранить. Вообще, сами авторы cmake не рекоммендуют GLOB_RECURSE, хотя лично я считаю, что фича удобная, особенно на начальных стадиях проекта или во время рефакторинга, когда файлы появляются и исчезают пачками - тратить время на постоянное обновление списка по крайней мере неэффективно.