Skip to content

Commit bcdaae0

Browse files
committed
[docu] Use CMake-generated Doxyfile for easier maintenance and better overview
[docu] pass flags from Makefile some more flags
1 parent 96f2a72 commit bcdaae0

File tree

5 files changed

+190
-2903
lines changed

5 files changed

+190
-2903
lines changed

documentation/doxygen/.gitignore

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Doxyfile
2+
NumberOfImages.dat
3+
filter
4+
htmlfooter.html
5+
stdout.dat

documentation/doxygen/CMakeLists.txt

+183
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
project(ROOT_documentation)
2+
3+
cmake_minimum_required(VERSION 3.10)
4+
set (DOCU_LOCATION $ENV{HOME}/rootdoc CACHE STRING "Documentation output directory")
5+
set (DOCU_QHG_LOCATION qhelpgenerator-qt5 CACHE STRING "Path to qhelpgenerator")
6+
7+
find_package(Doxygen REQUIRED dot) # OPTIONAL_COMPONENTS dot
8+
9+
set (DOCU_INPUT
10+
./mainpage.md
11+
../../core/base/
12+
../../core/dictgen/
13+
../../core/cont/
14+
../../core/foundation/
15+
../../core/gui/
16+
../../core/macosx/
17+
../../core/meta/
18+
../../core/metacling/
19+
../../core/clingutils/
20+
../../core/multiproc/
21+
../../core/rint/
22+
../../core/testsupport/
23+
../../core/thread/
24+
../../core/unix/
25+
../../core/winnt/
26+
../../core/imt/
27+
../../core/zip/inc/Compression.h
28+
../../geom/
29+
../../graf2d/asimage/
30+
../../graf2d/cocoa/
31+
../../graf2d/fitsio/
32+
../../graf2d/gpad/
33+
../../graf2d/gpadv7/
34+
../../graf2d/graf/
35+
../../graf2d/gviz/
36+
../../graf2d/postscript/
37+
../../graf2d/quartz/
38+
../../graf2d/win32gdk/
39+
../../graf2d/x11/
40+
../../graf2d/x11ttf/
41+
../../graf3d/eve/
42+
../../graf3d/eve7/
43+
../../graf3d/g3d/
44+
../../graf3d/gl/
45+
../../graf3d/gviz3d/
46+
../../gui/
47+
../../hist/
48+
../../io/doc/TFile
49+
../../io/dcache/
50+
../../io/io/
51+
../../io/sql/
52+
../../io/xml/
53+
../../io/xmlparser/
54+
../../main/src/hadd.cxx
55+
../../math/
56+
../../montecarlo/
57+
../../net/doc/
58+
../../net/auth/
59+
../../net/davix/
60+
../../net/http/
61+
../../net/net/
62+
../../net/netxng/
63+
../../net/httpsniff/
64+
../../proof/
65+
../../tmva/
66+
../../roofit/
67+
../../tree/
68+
../../sql/
69+
../../tutorials/
70+
../../bindings/tpython/
71+
../../bindings/pyroot/
72+
../../bindings/pyroot/pythonizations/python/ROOT/_pythonization/__init__.py
73+
../../bindings/r/
74+
${DOCU_LOCATION}/pyzdoc/
75+
CACHE STRING "Doxyfile input files or folders")
76+
77+
set(DOXYGEN_OUTPUT_DIRECTORY "${DOCU_LOCATION}")
78+
set(DOXYGEN_PROJECT_NAME "ROOT")
79+
set(DOXYGEN_PROJECT_BRIEF "Reference Guide")
80+
set(DOXYGEN_PROJECT_LOGO "rootlogo.gif")
81+
set(DOXYGEN_PYTHON_DOCSTRING NO)
82+
set(DOXYGEN_ALWAYS_DETAILED_SEC YES)
83+
set(DOXYGEN_JAVADOC_AUTOBRIEF YES)
84+
set(DOXYGEN_QT_AUTOBRIEF YES)
85+
set(DOXYGEN_TAB_SIZE 3)
86+
set(DOXYGEN_ALIASES "legacy{1}=\\htmlonly<div class=\\\"legacybox\\\"><h2>Legacy Code</h2> \\1 is a legacy interface: there will be no bug fixes nor new developments. Therefore it is not recommended to use it in new long-term production code. But, depending on the context, using \\1 might still be a valid solution.</div>\\endhtmlonly" "legacy{2}=\\htmlonly<div class=\\\"legacybox\\\"><h2>Legacy Code</h2> \\1 is a legacy interface: there will be no bug fixes nor new developments. Therefore it is not recommended to use it in new long-term production code. But, depending on the context, using \\1 might still be a valid solution. \\2</div>\\endhtmlonly"
87+
)
88+
set(DOXYGEN_EXTENSION_MAPPING h=C++ icc=C++ pyzdoc=C++ cu=C++ cuh=C++)
89+
set(DOXYGEN_TOC_INCLUDE_HEADINGS 3)
90+
set(DOXYGEN_BUILTIN_STL_SUPPORT YES)
91+
set(DOXYGEN_LOOKUP_CACHE_SIZE 4)
92+
set(DOXYGEN_EXTRACT_ALL YES)
93+
set(DOXYGEN_EXTRACT_PRIVATE YES)
94+
set(DOXYGEN_EXTRACT_STATIC YES)
95+
set(DOXYGEN_HIDE_IN_BODY_DOCS YES)
96+
set(DOXYGEN_CASE_SENSE_NAMES YES) # default value is system dependent, so need to set this !
97+
set(DOXYGEN_SORT_BRIEF_DOCS YES)
98+
set(DOXYGEN_SORT_MEMBERS_CTORS_1ST YES)
99+
set(DOXYGEN_GENERATE_TODOLIST NO)
100+
set(DOXYGEN_GENERATE_BUGLIST NO)
101+
set(DOXYGEN_LAYOUT_FILE DoxygenLayout.xml)
102+
set(DOXYGEN_WARN_LINE_FORMAT "$file:$line")
103+
set(DOXYGEN_FILE_PATTERNS *.c *.C *.cc *.cpp *.cxx *.def *.dox *.f *.h *.hh *.hpp *.hxx *.icc *.inc *.inl *.js *.m *.md *.mm *.py *.pyzdoc)
104+
set(DOXYGEN_RECURSIVE YES)
105+
set(DOXYGEN_EXCLUDE_PATTERNS */G__*
106+
*/test/*
107+
*/src/unuran-*
108+
*/libAfterImage/*
109+
*/doc/v6*
110+
*/doc/v5*
111+
*/win32gdk/gdk/*
112+
*/bindings/pyroot/*.py
113+
*gl2ps*
114+
*CsgOps*
115+
LinkDef*.h
116+
launcher.py
117+
*/io/io/res/*
118+
*/src/lexertk.hpp
119+
*.xml
120+
*.dtd
121+
*/graf3d/eve7/glu/*
122+
*/gui/cefdisplay/*
123+
*/gui/qt5webdisplay/*
124+
*/gui/qt6webdisplay/*
125+
*/tutorials/visualisation/webgui/qt5web/*
126+
*/math/mathcore/src/CDT*
127+
)
128+
set(DOXYGEN_EXCLUDE_SYMBOLS std
129+
cling*)
130+
set(DOXYGEN_IMAGE_PATH "${DOCU_LOCATION}/html")
131+
set(DOXYGEN_INPUT_FILTER "./filter") # ./ is important
132+
set(DOXYGEN_SOURCE_BROWSER YES)
133+
set(DOXYGEN_STRIP_CODE_COMMENTS NO)
134+
set(DOXYGEN_IGNORE_PREFIX T)
135+
set(DOXYGEN_HTML_HEADER "htmlheader.html")
136+
set(DOXYGEN_HTML_FOOTER "htmlfooter.html")
137+
set(DOXYGEN_HTML_EXTRA_STYLESHEET "ROOT.css")
138+
set(DOXYGEN_HTML_EXTRA_FILES "./rootlogo_s.gif"
139+
"./notebook.gif")
140+
set(DOXYGEN_HTML_COLORSTYLE TOGGLE)
141+
set(DOXYGEN_GENERATE_QHP YES)
142+
set(DOXYGEN_QCH_FILE "ROOT.qch")
143+
set(DOXYGEN_QHP_NAMESPACE cern.ch.ROOT)
144+
set(DOXYGEN_QHG_LOCATION "${DOCU_QHG_LOCATION}")
145+
set(DOXYGEN_QHP_VIRTUAL_FOLDER "rootdoc")
146+
set(DOXYGEN_DISABLE_INDEX YES)
147+
set(DOXYGEN_GENERATE_TREEVIEW YES)
148+
set(DOXYGEN_USE_MATHJAX YES)
149+
set(DOXYGEN_MATHJAX_RELPATH ./mathjax)
150+
set(DOXYGEN_MATHJAX_VERSION MathJax_3)
151+
set(DOXYGEN_GENERATE_LATEX NO)
152+
set(DOXYGEN_LATEX_CMD_NAME latex)
153+
set(DOXYGEN_MACRO_EXPANSION YES)
154+
set(DOXYGEN_PREDEFINED "R__CLING_PTRCHECK" "R__USE_IMT" "R__SUGGEST_ALTERNATIVE(x)=" "__attribute__(x)=" "__declspec(x)=" "__pragma(x)=")
155+
set(DOXYGEN_SKIP_FUNCTION_MACROS NO)
156+
set(DOXYGEN_INCLUDE_PATH ../../core/base/inc
157+
../../core/meta/inc
158+
../../bindings/r/inc
159+
../../interpreter/llvm-project/clang/include
160+
../../graf2d/graf/inc
161+
../../graf2d/gpadv7/inc
162+
../../tmva/tmva/inc
163+
../../hist/hist/inc
164+
../../io/io/inc
165+
../../tree/tree/inc
166+
../../roofit/roostats/inc
167+
../../roofit/histfactory/inc
168+
../../roofit/roofitcore/inc)
169+
set(DOXYGEN_GENERATE_TAGFILE "${DOCU_LOCATION}/html/ROOT.tag")
170+
set(DOXYGEN_HIDE_UNDOC_RELATIONS NO)
171+
set(DOXYGEN_DOT_MULTI_TARGETS YES)
172+
set(DOXYGEN_GROUP_GRAPHS NO)
173+
set(DOXYGEN_DOT_IMAGE_FORMAT svg)
174+
set(DOXYGEN_INTERACTIVE_SVG YES)
175+
set(DOXYGEN_DOT_GRAPH_MAX_NODES 200)
176+
set(DOXYGEN_TIMESTAMP YES)
177+
178+
doxygen_add_docs(dox ALL
179+
${DOCU_INPUT}
180+
#ALLOW_DUPLICATE_CUSTOM_TARGETS
181+
#USE_STAMP_FILE
182+
COMMENT "Generating doxygen documentation for ${PROJECT_NAME}"
183+
)

0 commit comments

Comments
 (0)