CMake пользовательские команды очистки

В моем проекте CMake я хотел бы, чтобы при запуске чистой цели происходило какое-то пользовательское поведение. Однако, если я сделаю

add_dependencies(clean extra-clean)

это терпит неудачу с

add_dependencies Adding dependency to non-existent target: clean

Возможно ли вообще иметь собственное чистое поведение?

EDIT: я запускаю некоторые внешние инструменты как часть сборки. Эти инструменты генерируют множество файлов, но их можно очистить, просто попросив инструмент сделать это. В идеале я мог бы добавить пользовательскую цель к чистой цели, чтобы вызвать инструмент для его очистки.


person paleozogt    schedule 13.10.2010    source источник
comment
Я все еще хотел бы знать ответ на выясненный вопрос! Ни один из текущих ответов на самом деле не отвечает на него. Как запустить некоторые дополнительные команды при запуске make clean, например очистить внешний инструмент?   -  person Ben Farmer    schedule 06.02.2015
comment
Та же проблема. Я хочу добавить пользовательское действие к глобальной чистой цели. или зависит от пользовательской команды или пользовательской цели очистки, поэтому она будет вызываться при запросе очистки.   -  person peterk    schedule 08.11.2018


Ответы (1)


Какое пользовательское поведение вы ищете? Если вам нужно удалить файлы, вы можете использовать set_directory_properties.

person RobertJMaynard    schedule 13.10.2010
comment
К счастью, внешний инструмент, который я использую, можно настроить так, чтобы он помещал все в один каталог, что позволяет мне использовать set_directory_properties. :) - person paleozogt; 15.10.2010
comment
Я работаю с инструментом, который нельзя настроить таким образом. Можем ли мы каким-либо образом указать CMake удалить файлы, соответствующие определенному имени (с подстановочным знаком)? - person Arno Moonen; 08.05.2015
comment
Мне не ясно, какое свойство установить, чтобы обеспечить желаемое поведение. - person IntrepidCuriosity; 27.07.2015
comment
Имейте в виду, что он работает только в генераторах Makefile (как следует из названия). - person wmamrak; 08.09.2016
comment
Пожалуйста, дайте полный пример того, как добавить каталог в чистую цель. - person jlicht; 16.06.2020