meson.build: separate options for installing man pages or docs

This commit is contained in:
Pauli Virtanen 2023-11-24 17:48:22 +02:00
parent d0ec322434
commit ffa52fdbc1
3 changed files with 20 additions and 10 deletions

View file

@ -209,7 +209,7 @@ html_target = custom_target('pipewire-docs',
output: [ 'html' ],
command: [ doxygen, doxyfile ],
env: doxygen_env,
install: true,
install: install_docs,
install_tag: 'doc',
install_dir: docdir)
@ -230,7 +230,7 @@ foreach m : manpages
input : html_target,
depend_files : [ man_fixup ],
capture : true,
install : true,
install : install_man,
install_tag: 'man',
install_dir : get_option('mandir') / 'man' + section
)

View file

@ -485,18 +485,24 @@ if alsa_dep.found()
subdir('pipewire-alsa/tests')
endif
doxygen = find_program('doxygen', required : get_option('docs'))
pymod = import('python')
python = pymod.find_installation('python3', required: get_option('docs'))
generate_docs = doxygen.found() and python.found()
generate_docs = get_option('man').enabled() or get_option('docs').enabled()
if get_option('man').allowed() or get_option('docs').allowed()
doxygen = find_program('doxygen', required : generate_docs)
pymod = import('python')
python = pymod.find_installation('python3', required: generate_docs)
generate_docs = doxygen.found() and python.found()
endif
install_docs = get_option('docs').require(generate_docs).allowed()
install_man = get_option('man').require(generate_docs).allowed()
summary({'Documentation ': install_docs}, bool_yn: true)
summary({'Man pages ': install_man}, bool_yn: true)
if generate_docs
subdir('doc')
endif
summary({'Documentation and man pages ': generate_docs}, bool_yn: true)
setenv = find_program('pw-uninstalled.sh')
run_target('pw-uninstalled',
command : [setenv,

View file

@ -2,7 +2,11 @@ option('docdir',
type : 'string',
description : 'Directory for installing documentation to (defaults to pipewire_datadir/doc/meson.project_name() )')
option('docs',
description: 'Build documentation',
description: 'Documentation',
type: 'feature',
value: 'disabled')
option('man',
description: 'Manual pages',
type: 'feature',
value: 'disabled')
option('examples',