54 lines
2.5 KiB
Meson
54 lines
2.5 KiB
Meson
doxygen = find_program('doxygen', required : false)
|
|
if doxygen.found()
|
|
cdata = configuration_data()
|
|
cdata.set('ALLOW_UNICODE_NAMES', true)
|
|
cdata.set('CALL_GRAPH', true)
|
|
cdata.set('COLLABORATION_GRAPH', true)
|
|
cdata.set('CPP_CLI_SUPPORT', true)
|
|
cdata.set('DOT_GRAPH_MAX_NODES', 20)
|
|
cdata.set('DOT_TRANSPARENT', true)
|
|
cdata.set('EXTRACT_ALL', true)
|
|
cdata.set('EXTRACT_PACKAGE', true)
|
|
cdata.set('EXTRACT_PRIVATE', true)
|
|
cdata.set('FULL_PATH_NAMES', false)
|
|
cdata.set('GENERATE_TREEVIEW', true)
|
|
cdata.set('HAVE_DOT', true)
|
|
cdata.set('HIDE_UNDOC_RELATIONS', false)
|
|
cdata.set('HTML_EXTRA_STYLESHEET', join_paths(meson.current_source_dir(),'doxygen-extra.css'))
|
|
cdata.set('HTML_TIMESTAMP', true)
|
|
cdata.set('OUTPUT_DIRECTORY', join_paths(meson.project_build_root(), 'doc'))
|
|
cdata.set('PLANTUML_JAR_PATH', join_paths(meson.current_source_dir(), 'plantuml.jar'))
|
|
cdata.set('PLANTUML_CFG_FILE', join_paths(meson.current_source_dir(), 'plantuml-config.txt'))
|
|
cdata.set('PROJECT_DOCDIR', meson.current_source_dir())
|
|
cdata.set('PROJECT_EXAMPLESDIR', join_paths(meson.project_source_root(),'examples'))
|
|
cdata.set('PROJECT_INCDIR', join_paths(meson.project_source_root(),'include'))
|
|
cdata.set('PROJECT_LOGO', join_paths(meson.current_source_dir(), 'img', 'doxygen_logo.png'))
|
|
cdata.set('PROJECT_NAME', meson.project_name())
|
|
cdata.set('PROJECT_SRCDIR', join_paths(meson.project_source_root(),'source'))
|
|
cdata.set('PROJECT_TESTDIR', join_paths(meson.project_source_root(),'test'))
|
|
cdata.set('RECURSIVE', true)
|
|
cdata.set('SOURCE_BROWSER', true)
|
|
cdata.set('TEMPLATE_RELATIONS', true)
|
|
cdata.set('TREEVIEW_WIDTH', 200)
|
|
cdata.set('UML_LIMIT_NUM_FIELDS', 100)
|
|
cdata.set('UML_LOOK', true)
|
|
cdata.set('USE_MATHJAX', true)
|
|
cdata.set('VERSION', meson.project_version())
|
|
|
|
doxyfile = configure_file(input: 'Doxyfile.in',
|
|
output: 'Doxyfile',
|
|
configuration: cdata,
|
|
install: false)
|
|
docdir = join_paths(get_option('datadir'),'doc', meson.project_name())
|
|
html_target = custom_target('doc',
|
|
build_always_stale: true,
|
|
input: doxyfile,
|
|
output: 'html',
|
|
command: [doxygen, doxyfile, meson.project_source_root()],
|
|
install: true,
|
|
install_dir: docdir,
|
|
build_by_default: true)
|
|
else
|
|
warning('Documentation disabled without doxygen')
|
|
endif
|