#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 в aadd_custom_command
в cmake…