The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.5 KiB
96 lines
2.5 KiB
project('Meson documentation', version: '1.0') |
|
|
|
cur_bdir = meson.current_build_dir() |
|
|
|
# Only the script knows which files are being generated |
|
docs_gen = custom_target( |
|
'gen_docs', |
|
input: files('markdown/index.md'), |
|
output: 'gen_docs.stamp', |
|
command: [ |
|
files('../tools/regenerate_docs.py'), |
|
'--output-dir', cur_bdir, |
|
'--dummy-output-file', '@OUTPUT@', |
|
], |
|
build_by_default: true, |
|
install: false) |
|
|
|
genrefman = find_program('./genrefman.py') |
|
refman_binary = custom_target( |
|
'gen_refman_bin', |
|
input: files('sitemap.txt'), |
|
output: 'reference_manual.bin', |
|
depfile: 'reman_dep.d', |
|
command: [ |
|
genrefman, |
|
'-l', 'yaml', |
|
'-g', 'pickle', |
|
'-o', '@OUTPUT@', |
|
'--depfile', '@DEPFILE@', |
|
'--force-color', |
|
] |
|
) |
|
|
|
refman_md = custom_target( |
|
'gen_refman_md', |
|
input: refman_binary, |
|
output: ['configured_sitemap.txt', 'refman_links.json'], |
|
command: [ |
|
genrefman, |
|
'-l', 'pickle', |
|
'-g', 'md', |
|
'-s', files('sitemap.txt'), |
|
'-i', '@INPUT@', |
|
'-o', '@OUTPUT0@', |
|
'--link-defs', '@OUTPUT1@', |
|
'--force-color', |
|
'--no-modules', |
|
], |
|
) |
|
|
|
refman_json = custom_target( |
|
'gen_refman_json', |
|
build_by_default: true, |
|
input: refman_binary, |
|
output: 'reference_manual.json', |
|
command: [ |
|
genrefman, |
|
'-l', 'pickle', |
|
'-g', 'json', |
|
'-i', '@INPUT@', |
|
'-o', '@OUTPUT@', |
|
'--force-color', |
|
], |
|
) |
|
|
|
test('validate_docs', find_program('./jsonvalidator.py'), args: [refman_json]) |
|
|
|
hotdoc_prog = find_program('hotdoc', version: '>=0.13.7') |
|
|
|
hotdoc = import('hotdoc') |
|
documentation = hotdoc.generate_doc(meson.project_name(), |
|
project_version: meson.project_version(), |
|
sitemap: refman_md[0], |
|
build_by_default: true, |
|
depends: docs_gen, |
|
index: 'markdown/index.md', |
|
install: false, |
|
extra_assets: ['images/'], |
|
include_paths: ['markdown', cur_bdir], |
|
default_license: 'CC-BY-SAv4.0', |
|
html_extra_theme: join_paths('theme', 'extra'), |
|
git_upload_repository: 'git@github.com:mesonbuild/mesonbuild.github.io.git', |
|
edit_on_github_repository: 'https://github.com/mesonbuild/meson', |
|
syntax_highlighting_activate: true, |
|
keep_markup_in_code_blocks: true, |
|
extra_extension: meson.current_source_dir() / 'extensions' / 'refman_links.py', |
|
refman_data_file: refman_md[1], |
|
) |
|
|
|
run_target('upload', |
|
command: [hotdoc_prog, 'run', |
|
'--conf-file', documentation.config_path(), |
|
'--git-upload', |
|
'-vv', |
|
], |
|
)
|
|
|