summaryrefslogtreecommitdiff
path: root/Documentation/meson.build
blob: d3ea5ea3302a730645ced1e3fa60078d4553a21c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
doc_install_dir = join_paths(get_option('datadir'), 'doc', 'libcamera-@0@'.format(api_version))

#
# Doxygen
#

doxygen = find_program('doxygen', required: false)

if doxygen.found()
    cdata = configuration_data()
    cdata.set('VERSION', meson.project_version())
    cdata.set('TOP_SRCDIR', meson.source_root())
    cdata.set('TOP_BUILDDIR', meson.build_root())

    doxyfile = configure_file(input: 'Doxyfile.in',
                              output: 'Doxyfile',
                              configuration: cdata,
                              install: false)

    custom_target('doxygen',
                  input: [
                      doxyfile,
                      libcamera_api,
                      libcamera_headers,
                      libcamera_sources,
                  ],
                  output: 'api-html',
                  command: [doxygen, doxyfile],
                  install: true,
                  install_dir: doc_install_dir)
endif

#
# Sphinx
#

sphinx = find_program('sphinx-build-3', required: false)
if not sphinx.found()
    sphinx = find_program('sphinx-build', required: false)
endif

if sphinx.found()
    docs_sources = [
        'conf.py',
        'contributing.rst',
        'index.rst',
    ]

    custom_target('documentation',
                  command: [sphinx, '-W', '-b', 'html', meson.current_source_dir(), '@OUTPUT@'],
                  input: docs_sources,
                  output: 'html',
                  build_by_default: true,
                  install: true,
                  install_dir: doc_install_dir)
endif