CMake: как мне зависеть от вывода из пользовательской цели? - PullRequest
3 голосов
/ 01 ноября 2010

Традиционный процесс make, который я не могу изменить, создает цель, для которой я должен выполнить некоторую постобработку.

Я использую add_custom_target, чтобы заставить make-файл всегда запускаться.Я использую add_custom_command для своих шагов постобработки.

Проблема в том, что add_custom_target не может произвести вывод, если речь идет о CMake.Итак, как мне настроить зависимость для шагов постобработки?Я не хочу выполнять эти шаги, если внешняя программа-производитель фактически не обновила свою цель.

Команда add_custom_command не может использовать имя add_custom_target в качестве DEPENDS.Я попробовал это, и он предполагает, что имя add_custom_target - это просто файл, и он не может его найти.

Спасибо за любую помощь.Ура!

1 Ответ

3 голосов
/ 08 февраля 2011

Заставьте вызов add_custom_command зависеть от файла , который изменяется, когда "внешняя программа-производитель фактически обновила свою цель". Настраиваемая команда будет выполняться только в том случае, если один из ее DEPENDS новее, чем ее OUTPUT.

Вызовы DEPENDS для CMake add_custom_command лучше всего работают со старыми версиями CMake, когда они являются ссылками на имена файлов с полным путем. Более свежие версии CMake должны работать с именами файлов или ссылками на целевые имена CMake.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...