|
| 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