2010-06-25 11 views
5

Sono appena iniziato con Doxygen, e ho fatto ricerche considerevoli su questo, quindi perdonami se c'è una risposta ovvia.Configura Doxygen per nascondere determinati nomi o parole chiave

Sto lavorando a un progetto incorporato in cui le funzioni possono essere contrassegnate come debug o nodebug prima del tipo di ritorno. Nella maggior parte delle nostre librerie, utilizziamo una macro condizionale per impostareo nodebug nella parte superiore del file con libname_debug, quindi ogni funzione è preceduta da libname_debug.

A scopo di documentazione, mi piacerebbe che Doxygen lasci la documentazione della funzione libname_debug. Riordina la lista delle funzioni e rende più difficile vedere i tipi di ritorno di ciascuna funzione.

È possibile taggare il file in qualche modo, quindi Doxygen lascerà uscire quel simbolo? Al momento, sto avvolgendo ogni istanza in @ cond/@ endcond:

/** @cond */ libname_debug /** @endcond */ 

Ma questo è un dolore e aggiunge markup in più per la fonte.

risposta

2

È possibile definire macro nel file di configurazione doxygen. Qualcosa di simile

PREDEFINED += libname_debug 
+0

Grazie, che è stato il punto di partenza di cui avevo bisogno. Ho dovuto aggiornare il sorgente per non definire libname_debug se era già definito, aggiungerlo all'elenco PREDEFINED e quindi attivare MACRO_EXPANSION e EXPAND_ONLY_PREDEF. Speravo che il pattern '* _debug' in EXCLUDE_SYMBOLS avrebbe funzionato, ma non era così. – tomlogic

5

C'è anche un doxygen page che spiega come gestire tali situazioni specifiche. Si consentirebbe MACRO_EXPANSION (che per impostazione predefinita NO), dire doxygen per espandere solo alcune macro (EXPAND_ONLY_PREDEF) e aggiungere il simbolo come macro con un'espansione vuoto:

ENABLE_PREPROCESSING = YES 
MACRO_EXPANSION  = YES 
EXPAND_ONLY_PREDEF  = YES 
PREDEFINED    = libname_debug= 
+0

+1 per essere chiari. Ma cosa con quest'ultimo "uguale" a 'libname_debug ='? È corretto? Grazie. –

+0

'libname_debug =' è corretto significa che la macro 'libname_debug' è espansa con" un'espansione vuota ". Si prega di dare un'occhiata alla pagina doxgen collegata. –

Problemi correlati