Я пытаюсь настроить файл CMakeLists.txt для моего проекта C, чтобы он запускал ctags, но только при изменении исходных файлов.
Я прочитал ответы здесь , но я не могу получить то, что хочу. У меня было что-то вроде этого:
set (SRCS myprog.c myprog.h)
add_custom_target (
tags
COMMAND ctags -R .
DEPENDS ${SRCS}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} )
add_executable ( myprog ${SRCS} )
add_dependencies ( myprog tags )
, который работает, но он всегда запускает ctags, то есть, кажется, игнорирует часть DEPENDS. Если я удалю строку add_dependencies, то у меня будет цель, которую я могу вызвать явно (сделать теги), но по умолчанию она не запускается.
Я пробовал различные комбинации add_custom_target и add_custom_command, но не могу заставить его работать. Он либо всегда запускает команду, либо никогда не выполняет (или только если явно вызывается с тегом target).
Спасибо.