Commit Graph

137 Commits

Author SHA1 Message Date
Brad King 6834ffd21b Merge topic 'doc-guide-link-style'
977c38c339 Help: Render guide links as normal text instead of monospace

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7886
2022-11-09 09:29:53 -05:00
Alex Turbov 977c38c339 Help: Render guide links as normal text instead of monospace
The guide document names are phrases, not code-like man-page names.
Add CSS selectors for `:guide:` links and revert unnecessary properties.
2022-11-08 09:53:20 -05:00
Alex Turbov a89c76a773 Build: Add SPHINX_LINKCHECK build option
Run `sphinx-build` to check external links and report broken one.
2022-11-07 10:10:23 -05:00
Alex Turbov 137b00cda1 Build: Do not redirect sphinx-build output if CMake running in verbose mode
Configuring with `--log-level=VERBOSE` a user can see an output of
`sphinx-build` at build time.

The other way is to have `VERBOSE` envvar set at configure time.

And finally one can set `CMAKE_VERBOSE_MAKEFILE` CMake cache variable.
2022-11-07 10:09:53 -05:00
Alex Turbov d954fb8a60 Build: Deduplicate add_custom_command() calls for Sphinx targets 2022-11-07 10:09:46 -05:00
Henry Schreiner d78bfa1ecc Utilities/Sphinx: support cmakedomain running in parallel
Fixes: #24076

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
2022-10-24 18:03:11 -04:00
Brad King 5f998bbcb3 Configure CMake itself with policies through CMake 3.24 2022-10-12 12:43:27 -04:00
Brad King 294b6db533 Utilities/Sphinx: Avoid deprecated docutils error handling helpers
The `SafeString` and `ErrorString` classes are deprecated and will be
removed in Docutils 0.21 or later.  They help avoid encoding errors
during exception handling in Python <= 2.7, but these days we always
use Python 3 to build the documentation, at least during development,
when error cases are most likely to occur.

Fixes: #24039
2022-10-11 10:01:12 -04:00
Alex Turbov a509602699 Build: Modernize some foreach calls to use IN LISTS/IN ITEMS 2022-09-22 09:24:46 -04:00
FeRD (Frank Dana) ff2e7ceb66 QtHelp: Update Sphinx issue URLs in comments
The QtHelp Sphinx generation code contains two links to Sphinx issues
that used old, dead BitBucket URLs. Those issues were migrated to
GitHub, so the dead links can be replaced with working ones.
2022-09-04 22:59:00 +10:00
Brad King ac24f4d49b Configure CMake itself with policies through CMake 3.23 2022-06-14 15:05:09 -04:00
Brad King 756e83fbe2 Merge topic 'doc-cmake.org-tutorial-archive'
4cb616fed6 Tutorial: Provide a source archive when published on cmake.org
37fb70591e Utilities/Sphinx: Add variables listing pre-sphinx commands
eb7d913a21 Utilities/Sphinx: Clarify names of variables listing post-sphinx commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7215
2022-04-29 09:26:17 -04:00
Brad King 4cb616fed6 Tutorial: Provide a source archive when published on cmake.org
Provide readers following the tutorial on `cmake.org` a direct link to
download the tutorial's source examples.  Previously readers had to
fetch the CMake source tree separately and look for the tutorial source
examples inside it.

Fixes: #22475
2022-04-28 13:36:20 -04:00
Brad King 37fb70591e Utilities/Sphinx: Add variables listing pre-sphinx commands 2022-04-27 15:22:31 -04:00
Brad King eb7d913a21 Utilities/Sphinx: Clarify names of variables listing post-sphinx commands 2022-04-27 15:22:31 -04:00
Kyle Edwards 313ea361b0 CMake: Use FindPython instead of FindPythonInterp to build CMake itself
Fixes: #23444
2022-04-21 14:23:36 -04:00
Brad King de6038aaf4 Merge branch 'doc-qhelpgenerator' into release-3.23
Merge-request: !7150
2022-04-08 08:52:55 -04:00
Brad King 261b29bccc Merge topic 'doc-qhelpgenerator'
bf69fa32c4 Utilities/Sphinx: Update qthelp generation to qhelpgenerator
37904abb58 Help: Add "Updates" section header in 3.22 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7150
2022-04-08 08:51:22 -04:00
Brad King bf69fa32c4 Utilities/Sphinx: Update qthelp generation to qhelpgenerator
`qcollectiongenerator` is deprecated in favor of `qhelpgenerator`.
2022-04-07 09:37:37 -04:00
Brad King 5c429c5b40 Merge topic 'ci-cmake.org-help'
b691906d27 gitlab-ci: Build qthelp-format release documentation for cmake.org
1ceec19c20 gitlab-ci: Add objects.inv to cmake.org html documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7146
2022-04-06 13:02:38 -04:00
Brad King 76632f9f47 Merge topic 'ci-cmake.org-help' into release-3.23
b691906d27 gitlab-ci: Build qthelp-format release documentation for cmake.org
1ceec19c20 gitlab-ci: Add objects.inv to cmake.org html documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7146
2022-04-06 13:02:37 -04:00
Brad King b691906d27 gitlab-ci: Build qthelp-format release documentation for cmake.org
Previously the qthelp-format release documentation on `cmake.org` was
built manually.
2022-04-06 09:59:14 -04:00
Brad King f38fbdb65b Merge topic 'ci-cmake.org-help' into release-3.23
2808281730 gitlab-ci: update cmake.org documentation in release package pipeline
ed00a29cce gitlab-ci: consolidate jobs for cmake.org/cmake/help/git-{master,stage} docs
5c2e8ce515 Utilities/Sphinx: Add OpenSearch link to html page headers on cmake.org
a14905d4df Utilities/Sphinx: Add option to build outdated version banner for cmake.org
cca73b54ae Utilities/Sphinx: Add undocumented option to build docs for cmake.org

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7144
2022-04-05 17:46:01 -04:00
Brad King 2ce668b11d Merge branch 'backport-ci-cmake.org-help' into ci-cmake.org-help 2022-04-05 16:51:04 -04:00
Brad King 5c2e8ce515 Utilities/Sphinx: Add OpenSearch link to html page headers on cmake.org
Reference an OpenSearch description file that sits outside the content
of any specific version so we only need to maintain one and so that
it can reference the latest version.

This was previously added in a custom branch for building the
cmake.org reference documentation.
2022-04-05 16:09:54 -04:00
Brad King a14905d4df Utilities/Sphinx: Add option to build outdated version banner for cmake.org
This was previously added in a custom branch for building the
cmake.org reference documentation.
2022-04-05 16:09:54 -04:00
Brad King cca73b54ae Utilities/Sphinx: Add undocumented option to build docs for cmake.org 2022-04-05 16:09:54 -04:00
Brad King d6b811fb82 Require CMake 3.13+ to configure CMake itself
In particular, guarantee that policy `CMP0077` has `NEW` behavior.
This will be useful to hard-code options of third-party libraries
without polluting our own cache.
2022-02-22 17:50:06 -05:00
Brad King 9a48012f93 Configure CMake itself with policies through CMake 3.22 2022-02-03 14:13:12 -05:00
Brad King a541c8f510 Utilities/Sphinx: Ignore warning in generated texinfo documentation 2022-02-01 17:20:28 -05:00
Brad King 40ade51cc8 Configure CMake itself with policies through CMake 3.21 2021-10-08 12:17:04 -04:00
Arcturus Arcturus 1d03aa841c Utilities/Sphinx: Print path to index.html in build output
Print the url to index.html in the build output, just so one can
"open in browser" from the context menu in some terminals.
2021-10-04 11:33:42 -04:00
Brad King 2c209097b9 Configure CMake itself with policies through CMake 3.20 2021-06-30 10:13:56 -04:00
Brad King 8406d4c1d1 Utilities/Sphinx: Index guide section documents for cross-referencing
Extend the change from commit 6185265800 (Utilities/Sphinx: Index
guide-level documents for cross-referencing, 2019-12-06,
v3.17.0-rc1~181^2~1) to name guide documents other than the top level
using their docname instead of their title.  This will allow them to be
cross-referenced by a stable name even if their title changes.
2021-06-17 09:55:56 -04:00
Brad King fa8599e9a6 Merge topic 'sphinx-4'
bb9c69ed70 Utilities/Sphinx: Update man page config for Sphinx 4

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6126
2021-05-14 10:55:16 -04:00
Brad King bb9c69ed70 Utilities/Sphinx: Update man page config for Sphinx 4
Sphinx 4 by default generates `man/#/foo.#`, but older versions generate
`man/foo.#` as our install rules expect.  Update our Sphinx config file
to tell Sphinx 4 to use the old layout.

Fixes: #22192
2021-05-14 10:30:34 -04:00
Josef Angstenberger 6dd719a4a5 Utilities: Fix typos and spelling in comments 2021-05-07 17:00:13 +02:00
Henryk Paluch 5302073010 Help: Add option to generate docs with latexpdf 2021-03-01 15:28:10 -05:00
Brad King 91b4c27d8a Merge topic 'doc-presets'
47ab2d4d2e Help: Clarify role of binaryDir inheritance in cmake-presets(7)
0e3c361f77 Help: Link to tool-specific preset arguments from cmake-presets(7)
dd6165fbd4 Help: Mention version 2 in cmake-presets(7)
cdbd1ae64b Utilities/Sphinx: Avoid converting -- to an en-dash

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5829
2021-02-18 14:35:36 -05:00
Brad King cdbd1ae64b Utilities/Sphinx: Avoid converting -- to an en-dash 2021-02-18 10:55:09 -05:00
Brad King e517c1beb6 Configure CMake itself with policies through CMake 3.19 2021-02-10 09:26:29 -05:00
Brad King 7d498d6b43 Utilities/Sphinx: Add role and directive for 'genex' in CMake domain
This enables cross-reference syntax for CMake generator expressions:

    :genex:`SOME_GENEX`
    :genex:`$<SOME_GENEX>`
    :genex:`$<SOME_GENEX:...>`

and definition of CMake generator expressions via a directive:

    .. genex:: SOME_GENEX
    .. genex:: $<SOME_GENEX>
    .. genex:: $<SOME_GENEX:...>

It also adds generator expressions defined by the directive and by
`Help/genex/SOME_GENEX.rst` documents to the index.
2021-01-18 12:35:41 -05:00
Nikita Nemkin dafcef8b50 Help: Improve styling for versionadded/deprecated directives
Sphinx theme CSS removes top margin for dd > p combination,
but directives add an intervening div and need a separate rule.

Issue: #19715
2020-12-02 21:00:28 +05:00
Brad King 3f60c92775 Merge topic 'doc-html-lang'
f25e4313ac Utilities/Sphinx: Tell Sphinx that documentation is written in English

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5480
2020-11-09 10:51:08 -05:00
Brad King f25e4313ac Utilities/Sphinx: Tell Sphinx that documentation is written in English
Fixes: #21409
2020-11-09 10:15:35 -05:00
Brad King a0e474aaf2 Configure CMake itself with policies through CMake 3.18 2020-10-13 14:42:08 -04:00
Brad King 2254fcb68f Utilities/Sphinx: Avoid using deprecated sphinx APIs
Sphinx has deprecated `sphinx.util.pycompat.htmlescape` and
`sphinx.builders.qthelp.QtHelpBuilder`.  We only import these as part of
a monkey-patch to work around a bug in versions of sphinx before 1.7.2,
so make that code path conditional.  The imports are not deprecated on
the versions where we need them.
2020-10-05 13:38:08 -04:00
Brad King e0f643dddc Utilities/Sphinx: Clarify check for sphinx < 1.4 2020-10-05 13:37:01 -04:00
Nikita Nemkin dbd453c2ff Utilities/Sphinx: Add script for inserting ".. versionadded" directive 2020-07-03 20:14:31 +05:00
Rolf Eike Beer 42dcc2bd51 CTestConfig: allow nightly build submission using https
The idea is that one may set `CTEST_DROP_METHOD` in custom CTest
scripting.
2020-06-09 09:33:01 -04:00