1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-06-24 21:19:12 +08:00
CMake/Utilities/Sphinx/conf.py.in
Joachim Wuttke (o) fc7ee1ca45 Help: Override pygments CMakeLexer to support <..> and [..]
* The code snippets in the docs consist of CMake code mixed
  with syntax definition punctuation like < > [ ] ... Therefore
  a pure CMake lexer is inadequate. Here it is replaced by a
  CMake syntax definition parser.
* Fixed syntax definition snippets in FindPkgConfig.cmake to
  make best use of syntax highlighting. This source file is the
  hardest to support because it contains comparison operators
  <= = >=, which need special attention to avoid confusion
  with the placeholder indicators <...>.
* Fixed syntax in execute_process.rst (there were unbalanced
  brackets).
* Disabled syntax highlighting for long string examples in
  cmake-language.7.rst.
* No highlighting of removed syntax in CMP0049
* To inspect the outcome of this patch, see e.g. the pages
  * manual/cmake-buildsystem.7.html
  * module/ExternalProject.html
  * module/FindPkgConfig.html
  which are particularly rich in complex code snippets.
2018-10-19 07:25:34 +11:00

86 lines
2.5 KiB
Python

# 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'
primary_domain = 'cmake'
highlight_language = 'none'
exclude_patterns = [
'dev', # ignore developer-only documentation
]
extensions = ['cmake']
templates_path = ['@conf_path@/templates']
nitpicky = True
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
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-300.qch"