Как создать документацию latex с помощью CMake?

#cmake #latex

Вопрос:

Ситуация:

  • небольшой проект CMake C
  • с /doc папкой, в настоящее время созданной с помощью пользовательского Makefile интерфейса в ней.

Проблемы:

  • CMake и GNU make это две отдельные системы сборки, и смешно использовать более одной для небольшого и простого проекта.
  • make help не содержит списка doc целей

Пробовал решения:
Погуглил проблему, получил предложение использовать add_custom_target() . Это звучит как неправильное решение, потому .pdf что каждый раз восстанавливается цель … Я не могу назвать это «неэффективным», так как это занимает пару секунд. Но противоречит идеалу C «платить только за то, что вы используете» — да.

Как сгенерировать документацию из .tex файлов, если рабочая makefile уже присутствует? С. CMake

Комментарии:

1. может быть, что-то вроде github.com/dokempf/UseLatexMk может помочь? Преимущество использования latexmk заключается в том, что он будет компилировать ваш документ только в случае необходимости и автоматически выполнять все вспомогательные функции, такие как создание библиографии и т.д.

2. @samcarter_is_at_topanswers.xyz благодарит брюха; однако я уже прогуглил это. Я ищу более готовое решение. Хотя существование такового предполагает, что его не существует.

3. Самым простым решением, вероятно, было бы просто использовать add_custom_target для запуска make <make command linke options> из doc каталога; даже если этот целевой объект запускается каждый раз, когда вы его создаете, make убедитесь, что на самом деле ничего не перестраивается. В зависимости от размера и сложности файла Makefile вы можете перевести его вручную; нет инструментов, которые переводят файл Makefile в CMakeLists.txt afaik. Вы должны быть в состоянии преобразовать каждое правило make в a add_custom_command в cmake…