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
 |