Существует ли функция cmake для обновления .pot файлов?

Я перемещаю проект от автоинструментов до cmake. У меня есть вопрос о поддержке gettext.

Существует существующие модули FindGettext.cmake, который обеспечивает хорошую функцию:

GETTEXT_CREATE_TRANSLATIONS(foo.pot ALL fr.po de.po)

где Вы обеспечиваете файл горшка и перевели почтовый fil; функция заботится о превращении почтовых файлов в файлы ГМО, и добавьте, что надлежащая установка предназначается удостоверяться, что файлы могут быть найдены во времени выполнения. Вся польза и хорошо.

Теперь прибывает вопрос: как Вы обновляете свои файлы горшка и Вас почтовые файлы, когда Вы добавляете новые сообщения?

Для этого автоинструменты генерировали бы "почтовую обновлением" цель, это (от того, что я понимаю), читает POTFILES.in со списками всех файлов, содержащих переведенные строки, смешивает его с другой информацией и заканчивает тем, что назвал xgetext для генерации почтового. Я думаю, что соответствующей задачей Make-файла является та, которая содержит что-то как:

case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
 $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
   --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS)  \
   --files-from=$(srcdir)/POTFILES.in \
   --copyright-holder='$(COPYRIGHT_HOLDER)' \
   --msgid-bugs-address="$$msgid_bugs_address" \
 ;; \
*) \
 $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
   --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS)  \
   --files-from=$(srcdir)/POTFILES.in \
   --copyright-holder='$(COPYRIGHT_HOLDER)' \
   --package-name="$${package_gnu}ube" \
   --package-version='0.4.0-dev' \
   --msgid-bugs-address="$$msgid_bugs_address" \
 ;; \
 esac

Так, прежде чем я изобрету велосипед, там существующая функция cmake, чтобы сделать то же самое? Или я должен найти xgettext исполняемый файл, перечисляет файлы, и это вручную? Версия make-файла кажется довольно сложной (хотя это, кажется, обрабатывает много случаев); я не возражал бы не иметь необходимость записать cmake эквивалент ;)

Спасибо

PH

8
задан phtrivier 22 April 2010 в 21:43
поделиться