1

Sorry about the length of this post. I am using Doxygen 1.8.10 on a W7 64 bit machine. I have written and compiled my code in code::blocks 13.12.

My file structure is as follows: D:/Base/CodeBlocksProjects/SFML_apps/Alarm Clock contains my cpp files and all my header files are in /CodeBlocksProjects/include.

I want the Doxygen documentation to be saved in /CodeBlocksProjects/SFML_apps/Alarm Clock/Doxygen. This is set as the working directory. OUTPUT_DIRECTORY is set to . (a single dot). This means as I understand it that Doxygen will save it's generated files in /Alarm Clock/Doxygen.
INPUT is set to ../ which should mean Doxygen will look for source files in /Alarm Clock/ folder. SEARCH_INCLUDES is on and the include path is ../../../include. This relative path is generated when I use the directory finder button to point to my include folder.

Everything else is pretty much to the defaults. But my include files are not being found and listed so there is no class information except for a few trivial classes that are in various test files in the /Alarm Clock/ folder. I have appended the Doxyfile settings.

Any help would be much appreciated. I have completed this code and I want to document it before moving on ...

# Doxyfile 1.8.10    

#---------------------------------------------------------------------------    
# Project related configuration options    
#---------------------------------------------------------------------------    
DOXYFILE_ENCODING      = UTF-8    
PROJECT_NAME           = "Alarm Clock"    
PROJECT_NUMBER         = "Beta 1.01"    
PROJECT_BRIEF          =     
PROJECT_LOGO           =     
OUTPUT_DIRECTORY       = .    
CREATE_SUBDIRS         = NO    
ALLOW_UNICODE_NAMES    = NO    
OUTPUT_LANGUAGE        = English    
BRIEF_MEMBER_DESC      = YES    
REPEAT_BRIEF           = YES    
ABBREVIATE_BRIEF       =     
ALWAYS_DETAILED_SEC    = NO    
INLINE_INHERITED_MEMB  = NO    
FULL_PATH_NAMES        = NO    
STRIP_FROM_PATH        =     
STRIP_FROM_INC_PATH    =     
SHORT_NAMES            = NO    
JAVADOC_AUTOBRIEF      = NO    
QT_AUTOBRIEF           = NO    
MULTILINE_CPP_IS_BRIEF = NO    
INHERIT_DOCS           = YES    
SEPARATE_MEMBER_PAGES  = NO    
TAB_SIZE               = 8    
ALIASES                =     
TCL_SUBST              =     
OPTIMIZE_OUTPUT_FOR_C  = NO    
OPTIMIZE_OUTPUT_JAVA   = NO    
OPTIMIZE_FOR_FORTRAN   = NO    
OPTIMIZE_OUTPUT_VHDL   = NO    
EXTENSION_MAPPING      =     
MARKDOWN_SUPPORT       = YES    
AUTOLINK_SUPPORT       = YES    
BUILTIN_STL_SUPPORT    = NO    
CPP_CLI_SUPPORT        = NO    
SIP_SUPPORT            = NO    
IDL_PROPERTY_SUPPORT   = YES    
DISTRIBUTE_GROUP_DOC   = NO    
GROUP_NESTED_COMPOUNDS = NO    
SUBGROUPING            = YES    
INLINE_GROUPED_CLASSES = NO    
INLINE_SIMPLE_STRUCTS  = NO    
TYPEDEF_HIDES_STRUCT   = NO    
LOOKUP_CACHE_SIZE      = 0    
#---------------------------------------------------------------------------    
# Build related configuration options    
#---------------------------------------------------------------------------    
EXTRACT_ALL            = YES    
EXTRACT_PRIVATE        = YES    
EXTRACT_PACKAGE        = YES    
EXTRACT_STATIC         = YES    
EXTRACT_LOCAL_CLASSES  = YES    
EXTRACT_LOCAL_METHODS  = NO    
EXTRACT_ANON_NSPACES   = NO    
HIDE_UNDOC_MEMBERS     = NO    
HIDE_UNDOC_CLASSES     = NO    
HIDE_FRIEND_COMPOUNDS  = NO    
HIDE_IN_BODY_DOCS      = NO    
INTERNAL_DOCS          = NO    
CASE_SENSE_NAMES       = NO    
HIDE_SCOPE_NAMES       = NO    
HIDE_COMPOUND_REFERENCE= NO    
SHOW_INCLUDE_FILES     = YES    
SHOW_GROUPED_MEMB_INC  = NO    
FORCE_LOCAL_INCLUDES   = YES    
INLINE_INFO            = YES    
SORT_MEMBER_DOCS       = YES    
SORT_BRIEF_DOCS        = NO    
SORT_MEMBERS_CTORS_1ST = NO    
SORT_GROUP_NAMES       = NO    
SORT_BY_SCOPE_NAME     = NO    
STRICT_PROTO_MATCHING  = NO    
GENERATE_TODOLIST      = YES    
GENERATE_TESTLIST      = YES    
GENERATE_BUGLIST       = YES    
GENERATE_DEPRECATEDLIST= YES    
ENABLED_SECTIONS       =     
MAX_INITIALIZER_LINES  = 30    
SHOW_USED_FILES        = YES    
SHOW_FILES             = YES    
SHOW_NAMESPACES        = YES    
FILE_VERSION_FILTER    =     
LAYOUT_FILE            =     
CITE_BIB_FILES         =     
#---------------------------------------------------------------------------    
# Configuration options related to warning and progress messages    
#---------------------------------------------------------------------------    
QUIET                  = NO    
WARNINGS               = YES    
WARN_IF_UNDOCUMENTED   = NO    
WARN_IF_DOC_ERROR      = YES    
WARN_NO_PARAMDOC       = YES    
WARN_FORMAT            = "$file:$line: $text"    
WARN_LOGFILE           = "D:\Coding\CodeBlocksProjects\SFML_Apps\Alarm Clock\doxygen\doxygen.log"    
#---------------------------------------------------------------------------    
# Configuration options related to the input files    
#---------------------------------------------------------------------------    
INPUT                  = ../    
INPUT_ENCODING         = UTF-8    
FILE_PATTERNS          =     
RECURSIVE              = YES    
EXCLUDE                =     
EXCLUDE_SYMLINKS       = NO    
EXCLUDE_PATTERNS       =     
EXCLUDE_SYMBOLS        =     
EXAMPLE_PATH           =     
EXAMPLE_PATTERNS       =     
EXAMPLE_RECURSIVE      = NO    
IMAGE_PATH             =     
INPUT_FILTER           =     
FILTER_PATTERNS        =     
FILTER_SOURCE_FILES    = NO    
FILTER_SOURCE_PATTERNS =     
USE_MDFILE_AS_MAINPAGE =     
#---------------------------------------------------------------------------    
# Configuration options related to source browsing    
#---------------------------------------------------------------------------    
SOURCE_BROWSER         = YES    
INLINE_SOURCES         = YES    
STRIP_CODE_COMMENTS    = YES    
REFERENCED_BY_RELATION = YES    
REFERENCES_RELATION    = YES    
REFERENCES_LINK_SOURCE = YES    
SOURCE_TOOLTIPS        = YES    
USE_HTAGS              = NO    
VERBATIM_HEADERS       = YES    
#---------------------------------------------------------------------------    
# Configuration options related to the alphabetical class index    
#---------------------------------------------------------------------------    
ALPHABETICAL_INDEX     = YES    
COLS_IN_ALPHA_INDEX    = 5    
IGNORE_PREFIX          =     
#---------------------------------------------------------------------------    
# Configuration options related to the HTML output    
#---------------------------------------------------------------------------    
GENERATE_HTML          = YES    
HTML_OUTPUT            = html    
HTML_FILE_EXTENSION    = .html    
HTML_HEADER            =     
HTML_FOOTER            =     
HTML_STYLESHEET        =     
HTML_EXTRA_STYLESHEET  =     
HTML_EXTRA_FILES       =     
HTML_COLORSTYLE_HUE    = 220    
HTML_COLORSTYLE_SAT    = 100    
HTML_COLORSTYLE_GAMMA  = 80    
HTML_TIMESTAMP         = YES    
HTML_DYNAMIC_SECTIONS  = NO    
HTML_INDEX_NUM_ENTRIES = 100    
GENERATE_DOCSET        = NO    
DOCSET_FEEDNAME        = "Doxygen generated docs"    
DOCSET_BUNDLE_ID       = org.doxygen.Project    
DOCSET_PUBLISHER_ID    = org.doxygen.Publisher    
DOCSET_PUBLISHER_NAME  = Publisher    
GENERATE_HTMLHELP      = NO    
CHM_FILE               = "../Alarm Clock.chm"    
HHC_LOCATION           =     
GENERATE_CHI           = NO    
CHM_INDEX_ENCODING     =     
BINARY_TOC             = NO    
TOC_EXPAND             = NO    
GENERATE_QHP           = NO    
QCH_FILE               =     
QHP_NAMESPACE          = org.doxygen.Project    
QHP_VIRTUAL_FOLDER     = doc    
QHP_CUST_FILTER_NAME   =     
QHP_CUST_FILTER_ATTRS  =     
QHP_SECT_FILTER_ATTRS  =     
QHG_LOCATION           =     
GENERATE_ECLIPSEHELP   = NO    
ECLIPSE_DOC_ID         = org.doxygen.Project    
DISABLE_INDEX          = NO    
GENERATE_TREEVIEW      = YES    
ENUM_VALUES_PER_LINE   = 4    
TREEVIEW_WIDTH         = 250    
EXT_LINKS_IN_WINDOW    = NO    
FORMULA_FONTSIZE       = 10    
FORMULA_TRANSPARENT    = YES    
USE_MATHJAX            = NO    
MATHJAX_FORMAT         = HTML-CSS    
MATHJAX_RELPATH        = http://www.mathjax.org/mathjax    
MATHJAX_EXTENSIONS     =     
MATHJAX_CODEFILE       =     
SEARCHENGINE           = YES    
SERVER_BASED_SEARCH    = NO    
EXTERNAL_SEARCH        = NO    
SEARCHENGINE_URL       =     
SEARCHDATA_FILE        = searchdata.xml    
EXTERNAL_SEARCH_ID     =     
EXTRA_SEARCH_MAPPINGS  =     
#---------------------------------------------------------------------------    
# Configuration options related to the LaTeX output    
#---------------------------------------------------------------------------    
GENERATE_LATEX         = NO    
LATEX_OUTPUT           = latex    
LATEX_CMD_NAME         = latex    
MAKEINDEX_CMD_NAME     = makeindex    
COMPACT_LATEX          = NO    
PAPER_TYPE             = a4    
EXTRA_PACKAGES         =     
LATEX_HEADER           =     
LATEX_FOOTER           =     
LATEX_EXTRA_STYLESHEET =     
LATEX_EXTRA_FILES      =     
PDF_HYPERLINKS         = YES    
USE_PDFLATEX           = YES    
LATEX_BATCHMODE        = NO    
LATEX_HIDE_INDICES     = NO    
LATEX_SOURCE_CODE      = NO    
LATEX_BIB_STYLE        = plain    
#---------------------------------------------------------------------------    
# Configuration options related to the RTF output    
#---------------------------------------------------------------------------    
GENERATE_RTF           = YES    
RTF_OUTPUT             = rtf    
COMPACT_RTF            = NO    
RTF_HYPERLINKS         = NO    
RTF_STYLESHEET_FILE    =     
RTF_EXTENSIONS_FILE    =     
RTF_SOURCE_CODE        = NO    
#---------------------------------------------------------------------------    
# Configuration options related to the man page output    
#---------------------------------------------------------------------------    
GENERATE_MAN           = NO    
MAN_OUTPUT             = man    
MAN_EXTENSION          = .3    
MAN_SUBDIR             =     
MAN_LINKS              = NO    
#---------------------------------------------------------------------------    
# Configuration options related to the XML output    
#---------------------------------------------------------------------------    
GENERATE_XML           = NO    
XML_OUTPUT             = xml    
XML_PROGRAMLISTING     = YES    
#---------------------------------------------------------------------------    
# Configuration options related to the DOCBOOK output    
#---------------------------------------------------------------------------    
GENERATE_DOCBOOK       = NO    
DOCBOOK_OUTPUT         = docbook    
DOCBOOK_PROGRAMLISTING = NO    
#---------------------------------------------------------------------------    
# Configuration options for the AutoGen Definitions output    
#---------------------------------------------------------------------------    
GENERATE_AUTOGEN_DEF   = NO    
#---------------------------------------------------------------------------    
# Configuration options related to the Perl module output    
#---------------------------------------------------------------------------    
GENERATE_PERLMOD       = NO    
PERLMOD_LATEX          = NO    
PERLMOD_PRETTY         = YES    
PERLMOD_MAKEVAR_PREFIX =     
#---------------------------------------------------------------------------    
# Configuration options related to the preprocessor    
#---------------------------------------------------------------------------    
ENABLE_PREPROCESSING   = YES    
MACRO_EXPANSION        = YES    
EXPAND_ONLY_PREDEF     = NO    
SEARCH_INCLUDES        = YES    
INCLUDE_PATH           = ../../../include    
INCLUDE_FILE_PATTERNS  =     
PREDEFINED             =     
EXPAND_AS_DEFINED      =     
SKIP_FUNCTION_MACROS   = NO    
#---------------------------------------------------------------------------    
# Configuration options related to external references    
#---------------------------------------------------------------------------    
TAGFILES               =     
GENERATE_TAGFILE       =     
ALLEXTERNALS           = NO    
EXTERNAL_GROUPS        = YES    
EXTERNAL_PAGES         = YES    
PERL_PATH              = /usr/bin/perl    
#---------------------------------------------------------------------------    
# Configuration options related to the dot tool    
#---------------------------------------------------------------------------    
CLASS_DIAGRAMS         = YES    
MSCGEN_PATH            =     
DIA_PATH               =     
HIDE_UNDOC_RELATIONS   = YES    
HAVE_DOT               = YES    
DOT_NUM_THREADS        = 0    
DOT_FONTNAME           = Helvetica    
DOT_FONTSIZE           = 10    
DOT_FONTPATH           =     
CLASS_GRAPH            = YES    
COLLABORATION_GRAPH    = YES    
GROUP_GRAPHS           = YES    
UML_LOOK               = NO    
UML_LIMIT_NUM_FIELDS   = 10    
TEMPLATE_RELATIONS     = NO    
INCLUDE_GRAPH          = YES    
INCLUDED_BY_GRAPH      = YES    
CALL_GRAPH             = YES    
CALLER_GRAPH           = YES    
GRAPHICAL_HIERARCHY    = YES    
DIRECTORY_GRAPH        = YES    
DOT_IMAGE_FORMAT       = png    
INTERACTIVE_SVG        = NO    
DOT_PATH               = "C:\Program Files (x86)\Graphviz2.38\bin\dot.exe"    
DOTFILE_DIRS           =     
MSCFILE_DIRS           =     
DIAFILE_DIRS           =     
PLANTUML_JAR_PATH      =     
PLANTUML_INCLUDE_PATH  =     
DOT_GRAPH_MAX_NODES    = 50    
MAX_DOT_GRAPH_DEPTH    = 0    
DOT_TRANSPARENT        = NO    
DOT_MULTI_TARGETS      = NO    
GENERATE_LEGEND        = YES    
DOT_CLEANUP            = YES  
Ajay2707
  • 5,690
  • 6
  • 40
  • 58
Jeremy Brown
  • 11
  • 1
  • 3

1 Answers1

0

I'm not sure how much searching doxygen does, the source files aren't in ../, they're in ../Alarm Clock. Try explicitly specifying the file directories:

INPUT = "../Alarm Clock" ../../../include

It could also be that the space in the directory name Alarm Clock is causing you some problems (which is why I enclosed it in quotes in my INPUT line).

EDIT

You also need to add doxygen style comments to the files you want including in the documentation. For example:

/**
* This is a function to document, notice the double star in the comment
*/
void func()

Alternatively add

EXTRACT_ALL = YES

to the config file. This will add docs for all functions (and is a good thing to try).

Tim B
  • 3,033
  • 1
  • 23
  • 28
  • Thanks for that. I tried all variations of INPUT but same result. I attach a bit of the output log - I notice that DG is looking for includes before it scans the source files - so how does it know which headers are called? Searching for include files... Searching for files in directory D:/Coding/CodeBlocksProjects/include Searching for example files... Searching for images... Searching for dot files... Searching for dia files... Searching for files to exclude Searching INPUT for files to process... Searching for files in directory D:/Coding/CodeBlocksProjects/SFML_Apps/Alarm Clock . etc. – Jeremy Brown Jul 15 '15 at 10:01
  • Doxygen will always search for headers first, that's really what defines the functionality of the project. The source files are just the implementation. Have you included doxygen comments in the header files? See my edited answer for details. – Tim B Jul 15 '15 at 10:15
  • Well I have sort of got it working by actually putting the header file names in the INPUT box. I had tried /** @file */ in the header files but it didn't help. Fortunately there are only 4 header files in the project, but it would be hard if it was a more complex app. Also there seems to be some confusion about file and directory slashes being '\' or '/' which probably doesn't help either. Having said that I do think it is an excellent program and it does produce very thorough documentation if tweaked right. So thanks for your help, Tim B. – Jeremy Brown Jul 15 '15 at 12:46