summaryrefslogtreecommitdiff
path: root/Utilities/Sphinx/conf.py.in
blob: d4e40599ce9c37826fbe2f3603cc7159f154ad8d (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
# Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.

import sys
import os
import re
import glob

sys.path.insert(0, r'@conf_path@')

source_suffix = '.rst'
master_doc = 'index'

project = 'CMake'
copyright = '@conf_copyright@'
version = '@conf_version@' # feature version
release = '@conf_release@' # full version string
pygments_style = 'colors.CMakeTemplateStyle'

language = 'en'
primary_domain = 'cmake'
highlight_language = 'none'

exclude_patterns = [
    'dev', # ignore developer-only documentation
    ]

extensions = ['cmake']
templates_path = ['@conf_path@/templates']

nitpicky = True
smartquotes = False

cmake_manuals = sorted(glob.glob(r'@conf_docs@/manual/*.rst'))
cmake_manual_description = re.compile('^\.\. cmake-manual-description:(.*)$')
man_pages = []
for fpath in cmake_manuals:
    try:
        name, sec, rst = os.path.basename(fpath).split('.')
        desc = None
        f = open(fpath, 'r')
        for l in f:
            m = cmake_manual_description.match(l)
            if m:
                desc = m.group(1).strip()
                break
        f.close()
        if desc:
            man_pages.append(('manual/%s.%s' % (name, sec),
                              name, desc, [], int(sec)))
        else:
            sys.stderr.write("ERROR: No cmake-manual-description in '%s'\n" % fpath)
    except Exception as e:
        sys.stderr.write("ERROR: %s\n" % str(e))
man_show_urls = False
man_make_section_directory = False

html_baseurl = '@conf_baseurl@'
html_show_sourcelink = True
html_static_path = ['@conf_path@/static']
html_style = 'cmake.css'
html_theme = 'default'
html_theme_options = {
    'footerbgcolor':    '#00182d',
    'footertextcolor':  '#ffffff',
    'sidebarbgcolor':   '#e4ece8',
    'sidebarbtncolor':  '#00a94f',
    'sidebartextcolor': '#333333',
    'sidebarlinkcolor': '#00a94f',
    'relbarbgcolor':    '#00529b',
    'relbartextcolor':  '#ffffff',
    'relbarlinkcolor':  '#ffffff',
    'bgcolor':          '#ffffff',
    'textcolor':        '#444444',
    'headbgcolor':      '#f2f2f2',
    'headtextcolor':    '#003564',
    'headlinkcolor':    '#3d8ff2',
    'linkcolor':        '#2b63a8',
    'visitedlinkcolor': '#2b63a8',
    'codebgcolor':      '#eeeeee',
    'codetextcolor':    '#333333',
}
html_title = 'CMake %s Documentation' % release
html_short_title = '%s Documentation' % release
html_favicon = '@conf_path@/static/cmake-favicon.ico'
# Not supported yet by sphinx:
# https://bitbucket.org/birkenfeld/sphinx/issue/1448/make-qthelp-more-configurable
# qthelp_namespace = "org.cmake"
# qthelp_qch_name = "CMake.qch"

linkcheck_ignore = [r'about:|https://gitlab.kitware.com/cmake/community/-/wikis/doc/cpack']

linkcheck_allowed_redirects = {
    r'https://cdash\.org': r'https://www\.cdash\.org/',
    r'https://docs\.nvidia\.com/cuda/': r'https://docs\.nvidia\.com/cuda/index\.html',
    r'https://learn\.microsoft\.com/en-us/cpp/c-language/parsing-c-command-line-arguments': r'https://learn\.microsoft\.com/en-us/cpp/c-language/parsing-c-command-line-arguments\?.*',
    r'https://openjdk\.java\.net/jeps/313': r'https://openjdk\.org:443/jeps/313',
    r'https://www\.sphinx-doc\.org': r'https://www\.sphinx-doc\.org/en/master/',
}