2016-05-02 3 views
7

Ich möchte Dokumentation nur für Code generieren, die doxygen Kommentare haben. Ich habe eine Doxyfile über doxygen v erstellt 1.8.9.1 und es zur Ausgabe konfiguriert nur xml und alle undokumentierten Code zu verstecken.ist es für Doxygen möglich, undokumentierte Funktionen von generierten XML auszuschließen?

GENERATE_HTML   = NO 
GENERATE_LATEX   = NO 
GENERATE_XML   = YES 
HIDE_UNDOC_MEMBERS  = YES 
HIDE_UNDOC_CLASSES  = YES 

Danach habe ich eine einfache c Header test.h mit einer dokumentierten und einer nicht dokumentierten Funktionsdeklarationen:

void foo(int a); 

/** 
* "bar" function description 
* @param b sample param 
*/ 
void bar(int b); 

Durch doxygen Ausführung i nur bar Dokumentation zu erwarten haben in resultierenden xml enthalten. Leider wird Dokumentation für beide Funktionen generiert. Ist es möglich, Dokumentation nur für Code zu generieren, die doxygen Kommentare haben, oder für xml Ausgabe doxygen wird immer alles unabhängig von den Einstellungen enthalten?

Antwort

2

Bevor Sie weiterlesen, stellen Sie sicher, dass EXTRACT_ALL auf NO eingestellt ist.

Ich bin kein Fan der folgenden Lösung, aber es funktioniert. Verwenden doxygens Präprozessor

#ifdef PROJECT_NO_DOC 
void foo(int a); 
#endif /* PROJECT_NO_DOC */ 

/** 
* * "bar" function description 
* * @param b sample param 
* */ 
void bar(int b); 

Hinweis, in ihrem docs Sie haben ein vordefiniertes Makro zu setzen, aber zumindest in meiner Version von doxygen dies nicht erforderlich war. Ihre Dokumente geben es auf diese Weise set a predefined macro in the config to do it for you

#ifndef DOXYGEN_SHOULD_SKIP_THIS 

/* code that must be skipped by Doxygen */ 

#endif /* DOXYGEN_SHOULD_SKIP_THIS */ 

um die Blöcke zu tun, die ausgeblendet werden sollen und setzen:

PREDEFINED = DOXYGEN_SHOULD_SKIP_THIS 

in der Konfigurationsdatei werden alle Blöcke sollten durch Doxygen solange

übersprungen werden
ENABLE_PREPROCESSING = YES 

Es gibt andere Methoden, aber sie kommen mit zusätzlichen Einschränkungen, dh um sicherzustellen, dass in Ihren öffentlichen Dokumenten keine statische Methode angezeigt wird, können Siesetzen 10 bis NO.

Verwandte Themen