summaryrefslogtreecommitdiff
path: root/docs/conf.py.in
blob: 453a56aad905778ec5245200b366579571306277 (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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html

# -- Path setup --------------------------------------------------------------

# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#

import os
import sys

# add path to enable extensions
sys.path.insert(0, '${CMAKE_CURRENT_SOURCE_DIR}/ext/')

# path to python api
sys.path.insert(0, '${CMAKE_BINARY_DIR}/src/api/python')
sys.path.insert(0, '${CMAKE_BINARY_DIR}/deps/src/z3pycompat-EP')

if("${BUILD_BINDINGS_PYTHON}" == "ON"):
        tags.add('bindings_python')
if("${BUILD_BINDINGS_JAVA}" == "ON"):
        tags.add('bindings_java')


# -- Project information -----------------------------------------------------

project = 'cvc5'
copyright = '2021, the authors of cvc5'
author = 'The authors of cvc5'


# -- General configuration ---------------------------------------------------

# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
        'breathe',
        'sphinx.ext.autodoc',
        'sphinx.ext.autosectionlabel',
        'sphinxcontrib.bibtex',
        'sphinxcontrib.programoutput',
        'sphinx_tabs.tabs',
        'examples',
        'include_build_file',
]

bibtex_bibfiles = ['references.bib']

# Make sure the target is unique
autosectionlabel_prefix_document = True

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']


# -- Options for HTML output -------------------------------------------------

# The theme to use for HTML and HTML Help pages.  See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'
html_theme_options = {
    'navigation_depth': 5
}
html_static_path = ['${CMAKE_CURRENT_SOURCE_DIR}/_static/']
html_css_files = ['custom.css']
html_show_sourcelink = False

html_extra_path = []


ex_patterns = {
        '<examples>': '/../examples',
        '<z3pycompat>': '/' + os.path.relpath('${CMAKE_BINARY_DIR}/deps/src/z3pycompat-EP', '${CMAKE_CURRENT_SOURCE_DIR}'),
}

# -- C++ / Breathe configuration ---------------------------------------------
breathe_default_project = "cvc5"
breathe_domain_by_extension = {"h" : "cpp"}
cpp_index_common_prefix = ["cvc5::api::"]

# where to look for include-build-file
ibf_folders = ['${CMAKE_CURRENT_BINARY_DIR}']


# -- Java configuration ------------------------------------------------------
if tags.has('bindings_java'):
        html_extra_path.append('${CMAKE_BINARY_DIR}/docs/api/java/build/')


# -- SMT-LIB syntax highlighting ---------------------------------------------
from smtliblexer import SmtLibLexer
from sphinx.highlighting import lexers
lexers['smtlib'] = SmtLibLexer()
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback