From 1de970cf337ea799972aef6d5e9dcdec306450ea Mon Sep 17 00:00:00 2001 From: Dominik Loidolt <dominik.loidolt@univie.ac.at> Date: Tue, 28 Mar 2023 15:26:51 +0200 Subject: [PATCH] Fix build system for documentation --- .gitignore | 5 +++- doc/doxygen/Doxyfile.in | 12 ++++----- doc/doxygen/meson.build | 18 ++++++------- subprojects/doxygen-awesome-css.wrap | 9 +++++++ .../doxygen-awesome-css/meson.build | 25 +++++++++++++++++++ 5 files changed, 52 insertions(+), 17 deletions(-) create mode 100644 subprojects/doxygen-awesome-css.wrap create mode 100644 subprojects/packagefiles/doxygen-awesome-css/meson.build diff --git a/.gitignore b/.gitignore index 4ade85f..852f22f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,12 +3,15 @@ cmp_tool !test/cmp_tool -#cmp_tool files +# cmp_tool files *.cfg *.info *.dat *.cmp +# Meson subprojects +/subprojects/* +!/subprojects/*.wrap ### C ### # Prerequisites diff --git a/doc/doxygen/Doxyfile.in b/doc/doxygen/Doxyfile.in index bd30e4c..54ee239 100644 --- a/doc/doxygen/Doxyfile.in +++ b/doc/doxygen/Doxyfile.in @@ -1321,9 +1321,9 @@ HTML_STYLESHEET = # list). For an example see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_STYLESHEET = @DOXYDIR@/doxygen-awesome-css/doxygen-awesome.css \ - @DOXYDIR@/doxygen-awesome-css/doxygen-awesome-sidebar-only.css \ - @DOXYDIR@/doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css +HTML_EXTRA_STYLESHEET = @AWESOMEDIR@/doxygen-awesome.css \ + @AWESOMEDIR@/doxygen-awesome-sidebar-only.css \ + @AWESOMEDIR@/doxygen-awesome-sidebar-only-darkmode-toggle.css # The HTML_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the HTML output directory. Note @@ -1333,9 +1333,9 @@ HTML_EXTRA_STYLESHEET = @DOXYDIR@/doxygen-awesome-css/doxygen-awesome.css \ # files will be copied as-is; there are no commands or markers available. # This tag requires that the tag GENERATE_HTML is set to YES. -HTML_EXTRA_FILES = @DOXYDIR@/doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js \ - @DOXYDIR@/doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js \ - @DOXYDIR@/doxygen-awesome-css/doxygen-awesome-interactive-toc.js +HTML_EXTRA_FILES = @AWESOMEDIR@/doxygen-awesome-darkmode-toggle.js \ + @AWESOMEDIR@/doxygen-awesome-fragment-copy-button.js \ + @AWESOMEDIR@/doxygen-awesome-interactive-toc.js # The HTML_COLORSTYLE tag can be used to specify if the generated HTML output diff --git a/doc/doxygen/meson.build b/doc/doxygen/meson.build index a375aae..5c6a0d0 100644 --- a/doc/doxygen/meson.build +++ b/doc/doxygen/meson.build @@ -2,23 +2,21 @@ Doxyfile_template = files('Doxyfile.in') doc_layout_files = files( 'header.html', - 'meson.build', - 'plato-logo-med.png', - 'doxygen-awesome-css/doxygen-awesome-darkmode-toggle.js', - 'doxygen-awesome-css/doxygen-awesome-fragment-copy-button.js', - 'doxygen-awesome-css/doxygen-awesome-interactive-toc.js', - 'doxygen-awesome-css/doxygen-awesome-paragraph-link.js', - 'doxygen-awesome-css/doxygen-awesome-sidebar-only-darkmode-toggle.css', - 'doxygen-awesome-css/doxygen-awesome-sidebar-only.css', - 'doxygen-awesome-css/doxygen-awesome.css', + 'plato-logo-med.png' ) +doxygen_awesome_css_proj = subproject('doxygen-awesome-css') +doxygen_awesome_css_files = doxygen_awesome_css_proj.get_variable('doxygen_awesome_files') +doxygen_awesome_css_dep = doxygen_awesome_css_proj.get_variable('doxygen_awesome_css_dep') +doxygen_awesome_dir = doxygen_awesome_css_dep.get_variable(internal : 'doxygen_awesome_dir') +message(doxygen_awesome_dir) #Build a Doxyfile based on Doxyfile.in cdata_doc = configuration_data() cdata_doc.set('VERSION', meson.project_version()) cdata_doc.set('SRCDIR', meson.project_source_root()) cdata_doc.set('DOXYDIR', meson.current_source_dir()) +cdata_doc.set('AWESOMEDIR', doxygen_awesome_dir) cdata_doc.set('BUILDDIR', meson.project_build_root()) if find_program('dot', required : false).found() cdata_doc.set('HAVE_DOT', 'YES') @@ -39,7 +37,7 @@ if doxygen.found() custom_target('doc', input : doxy_file, output : 'generated_documentation', - depend_files : [doxy_file, doc_layout_files, main, cmplib_sources], # test files are missing + depend_files : [doxy_file, doc_layout_files, doxygen_awesome_css_files, main, cmplib_sources], # test files are missing command : [doxygen, '@INPUT@'], build_by_default : false, console : true, diff --git a/subprojects/doxygen-awesome-css.wrap b/subprojects/doxygen-awesome-css.wrap new file mode 100644 index 0000000..668ce8d --- /dev/null +++ b/subprojects/doxygen-awesome-css.wrap @@ -0,0 +1,9 @@ +[wrap-file] +directory = doxygen-awesome-css-2.2.0 +source_url = https://github.com/jothepro/doxygen-awesome-css/archive/refs/tags/v2.2.0.tar.gz +source_filename = doxygen-awesome-css-2.5.2.tar.gz +source_hash = d3d55d91b3609c60e57d34a0fcdc37c67eeba535495511fba2b7d981da531793 +patch_directory = doxygen-awesome-css + +[provide] +doxygen-awesome-css = doxygen_awesome_css_dep diff --git a/subprojects/packagefiles/doxygen-awesome-css/meson.build b/subprojects/packagefiles/doxygen-awesome-css/meson.build new file mode 100644 index 0000000..dafeafc --- /dev/null +++ b/subprojects/packagefiles/doxygen-awesome-css/meson.build @@ -0,0 +1,25 @@ +project('doxygen-awesome-css', + version: '2.2.0', + meson_version: '>=0.54.0', + license: 'MIT', +) + +# Files to be installed +doxygen_awesome_files= files( + 'doxygen-awesome-darkmode-toggle.js', + 'doxygen-awesome-fragment-copy-button.js', + 'doxygen-awesome-interactive-toc.js', + 'doxygen-awesome-paragraph-link.js', + 'doxygen-awesome-sidebar-only-darkmode-toggle.css', + 'doxygen-awesome-sidebar-only.css', + 'doxygen-awesome.css' +) + + +doxygen_awesome_css_dep = declare_dependency( + sources : doxygen_awesome_files, + variables : {'doxygen_awesome_dir': meson.current_source_dir(), 'number': '3'} +) + + + -- GitLab