xref: /aosp_15_r20/external/libdav1d/doc/meson.build (revision c09093415860a1c2373dacd84c4fde00c507cdfd)
1# Copyright © 2018-2022, VideoLAN and dav1d authors
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are met:
6#
7# 1. Redistributions of source code must retain the above copyright notice, this
8#    list of conditions and the following disclaimer.
9#
10# 2. Redistributions in binary form must reproduce the above copyright notice,
11#    this list of conditions and the following disclaimer in the documentation
12#    and/or other materials provided with the distribution.
13#
14# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
15# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
16# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
17# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
18# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
19# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
20# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
21# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
23# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24
25if not get_option('enable_docs')
26    subdir_done()
27endif
28
29doxygen = find_program('doxygen')
30dot = find_program('dot')
31
32conf_data = configuration_data()
33conf_data.set('DOXYGEN_INPUT', dav1d_src_root / 'include/dav1d')
34conf_data.set('DOXYGEN_STRIP', dav1d_src_root / 'include')
35conf_data.set('DOXYGEN_OUTPUT', meson.current_build_dir())
36doxyfile = configure_file(input: 'Doxyfile.in.in',
37                          output: 'Doxyfile.in',
38                          configuration: conf_data)
39
40doxyfile_rev_target = vcs_tag(command: [
41        'git', '--git-dir', dav1d_git_dir, 'describe', '--long', '--always'
42    ],
43    input: doxyfile,
44    output: 'Doxyfile'
45)
46
47custom_target('doc',
48              build_by_default: false,
49              command: [doxygen, doxyfile_rev_target],
50              output: ['html']
51)
52