Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
meson: add meson option for running doxygen in build
Co-developed-by: Jake Chacko <[email protected]>
Co-developed-by: Rahik Sikder <[email protected]>
Signed-off-by: Jake Chacko <[email protected]>
  • Loading branch information
chackoj-1204 committed Dec 2, 2025
commit 5d160e2a5a71f3ba7426c68271810e1e697ff4a8
13 changes: 13 additions & 0 deletions doc/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -72,3 +72,16 @@ if want_mans
install_dir: join_paths(mandir, 'man' + page[1]))
endforeach
endif

# API Docs (Doxygen)
if want_api_docs
doxygen = find_program('doxygen', required: true)

api_docs = custom_target(
'api-docs',
input: files('api/Doxyfile'),
output: 'api-docs.stamp',
command: [doxygen, '@INPUT@'],
build_by_default: true
)
endif
7 changes: 7 additions & 0 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ want_install_init = get_option('install-init-files')
want_io_uring = get_option('io-uring-event-loop')
want_pam_cgroup = get_option('pam-cgroup')
want_mans = get_option('man')
want_api_docs = get_option('api-docs')
want_tests = get_option('tests')
want_tools = get_option('tools')
want_tools_multicall = get_option('tools-multicall')
Expand Down Expand Up @@ -341,6 +342,12 @@ if not sgml2man.found()
endif
endif

## API Docs.
doxygen = find_program('doxygen', required: false)
if not doxygen.found() and want_api_docs
error('missing required doxygen dependency')
endif

## Threads.
threads = dependency('threads')
liblxc_dependencies += threads
Expand Down
4 changes: 4 additions & 0 deletions meson_options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ option('io-uring-event-loop', type: 'boolean', value: false,
option('man', type: 'boolean', value: true,
description: 'build and install manpages')

# was --{disable,enable}-api-docs in autotools
option('api-docs', type: 'boolean', value: false,
description: 'build and install API documentation (Doxygen)')

# was --{disable,enable}-pam in autotools
option('pam-cgroup', type: 'boolean', value: false,
description: 'build and install the pam cgroup module')
Expand Down