В соответствии со ссылкой manual ,
команда представляет собой список , содержащий команду для запуска и аргументы для передачи вЭто.Каждый элемент списка может быть строкой или целью
Итак, в вашем случае вся строка обрабатывается мезоном как команда, то есть имя инструмента, а не как команда + аргументы.Итак, попробуйте это:
run_target('docs', command : ['doxygen', meson.source_root() + '/Doxyfile'])
Или лучше использовать непосредственно результат find_program () :
doxygen = find_program('doxygen', required : false)
if doxygen.found()
message('Doxygen found')
run_target('docs', command : [doxygen, meson.source_root() + '/Doxyfile'])
else
warning('Documentation disabled without doxygen')
endif
Обратите внимание, что если вы хотитеулучшить генерацию документов с поддержкой Doxyfile.in, вместо этого взгляните на custom_target () и пример, например this .