LINUX.ORG.RU

[cmake]поиск исходников

 


0

0

посмотрел утилиту 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)

Vinick ★★
()

FILE(GLOB foo_SRCS *.cc)
FILE(GLOB_RECURSE bar_SRCS *.cc)

Только со вторым осторожнее, оно может матчить файлы cmake'овских тестов в CMakeFiles/ и ломать сборку.

AMDmi3
()

Можно конечно, но лучше этого не делать, так как часто бывает в проекте лежат всякие мусорные файлы, которые создавались для тестовых нужд. Потом проблемы с линковкой огребешь.

Да и если у тебя несколько таргетов как ты будешь на автомате отличать сорцы одного таргета от другого ? Всякие правила по префиксам писать ?

Reset ★★★★★
()
Ответ на: комментарий от Reset

Там можно директорию указать. А мусорные файлы негоже вместе с проектом хранить. Вообще, сами авторы cmake не рекоммендуют GLOB_RECURSE, хотя лично я считаю, что фича удобная, особенно на начальных стадиях проекта или во время рефакторинга, когда файлы появляются и исчезают пачками - тратить время на постоянное обновление списка по крайней мере неэффективно.

AMDmi3
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.