Как заставить doxygen лазить в папки?

Модератор: Модераторы разделов

Аватара пользователя
Zeus
Сообщения: 694

Как заставить doxygen лазить в папки?

Сообщение Zeus »

У меня есть проект C++.
На диске он представлен в виде нескольких каталогов, внутри которых *.h и *.cpp
Я положил конфиг в корневой каталог проекта и вызвал doxygen, но он сгенерил пустые документы.

Если положить конфиг в каждый каталог отдельно и запустить doxygen там, то он генерит нормальный документ, но только на данную часть проекта.
А хотелось бы, чтобы он собрал информацию из всех каталогов проекта в одну доку.

И ещё вопрос:
если в качестве языка doxygen'у указать Russian, то он генерит доку на русском языке, но в кодировке koi8-r, а у меня проект - в utf8.
Это как-то можно вылечить?

Спасибо.
Спасибо сказали:
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Как заставить doxygen лазить в папки?

Сообщение sergio »

Zeus писал(а):
02.10.2007 23:08
Если положить конфиг в каждый каталог отдельно и запустить doxygen там, то он генерит нормальный документ, но только на данную часть проекта.
А хотелось бы, чтобы он собрал информацию из всех каталогов проекта в одну доку.


Так пошел сыскал старый пробный файл, вижу в нем такой кусок:

Код: Выделить всё

$ cat Doxyfile | grep -i -C 2 input
WARN_LOGFILE           = doxygen.log
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT                  = ./include/ ./src/
FILE_PATTERNS          = *.h *.hpp *.c *.cpp *.tcpp *.txt
RECURSIVE              = YES


Поставил эту хрень, запустил, она выдала кучу ругани что и депрекатед там у меня в конфиге древнем, и не нашла чего-то, но доки с двух папок сгенерила. Так что генерите шаблон конфига, и читайте доки дальше. :)

И ещё вопрос:
если в качестве языка doxygen'у указать Russian, то он генерит доку на русском языке, но в кодировке koi8-r, а у меня проект - в utf8.
Это как-то можно вылечить?

Тут я пас. На крайняк можно перекодировать. :happy:

UPD: А, в смысле, что шапки-подвалы к файлам подставляет в коях, а комментарии вырезает в ютф8?
Гм, думаю, проще всего запустить доксиген в С или английской локали... Я так с wget поступал, когда он индексы с виндозных фтп стаскивал и пытался их писать на диск пришивая ютфовые хедеры-футеры к виндозным именам файлов. :happy:
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:
Аватара пользователя
KonishchevDmitry
Сообщения: 92
ОС: Ubuntu

Re: Как заставить doxygen лазить в папки?

Сообщение KonishchevDmitry »

Да, как заметил sergio, сканировать подкаталоги можно - стоит только указать каталоги, в которых лежат исходные тексты.

Насчет кодировки - я глубоко не копал по этому вопросу, но если я правильно понял, doxygen работает только с двумя кодировками - koi8-r и cp1251. Поэтому я не долго думая написал bash скрипт, который сначала копирует все исходники в /tmp, перегоняет их из utf8 в cp1251 и строит на их основе документацию. Вполне себе рабочий вариант.

PS: если вы вдруг не знаете - существует графический настройщик - doxywizard. Создавать конфиг с его помощью в разы удобнее.
Спасибо сказали:
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Как заставить doxygen лазить в папки?

Сообщение sergio »

Мда, я попробовал - ключевым является параметр RECURSIVE. Если он в YES, то можно верхнюю папку указать ".", и он поддиректории прошел. Но скорее вам нужет список нужных поддиректорий и рекурсия - на случай если там еще подкаталоги будут...
Нащет русского - видимо никак. Посмотрел, чево пакет ставит - ничего считай и не ставит, кроме себя любимого, ни в локали ни в другие share. Так что только правкой исходников и пересборкой, видимо. =)
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Как заставить doxygen лазить в папки?

Сообщение Zeus »

Спасибо. RECURSIVE = YES помогло.
А насчёт перекодировки - была такая мысль: перегонять исходники в koi8-r и потом скармливать их doxygen'у, но я решил, что не стоит овчинка выделки - будет у меня "английская" документация :)

P.S. А doxywizard'а у меня нету :unsure:
Спасибо сказали:
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Как заставить doxygen лазить в папки?

Сообщение sergio »

Zeus писал(а):
03.10.2007 10:40
P.S. А doxywizard'а у меня нету :unsure:

У меня в aptitude маячило пакет doxygen-gui
Наверное оно, не проверял.
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Как заставить doxygen лазить в папки?

Сообщение Zeus »

Да и фиг с ним.
Заработало - и ладно.
Не хватало ещё отдельно изучать doxygen.
Не мы для doxygen'а, а doxygen - для нас! :)
Спасибо сказали: