summaryrefslogtreecommitdiffstats
path: root/Utilities/Sphinx/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Configure CMake itself with policies through CMake 3.20Brad King2021-06-301-1/+1
|
* Help: Add option to generate docs with latexpdfHenryk Paluch2021-03-011-17/+48
|
* Configure CMake itself with policies through CMake 3.19Brad King2021-02-101-1/+1
|
* Configure CMake itself with policies through CMake 3.18Brad King2020-10-131-1/+1
|
* Utilities/Sphinx: support finding Qt5's qcollectiongenerator tooBen Boeckel2020-05-071-1/+1
|
* Configure CMake itself with policies through CMake 3.15Brad King2019-08-231-1/+1
| | | | | | In particular, set `CMP0091` to `NEW` to enable the MSVC runtime library abstraction so it can be set via `CMAKE_MSVC_RUNTIME_LIBRARY` in the cache.
* CMakeVersion: Move computation logic to main scriptBrad King2019-07-291-1/+1
|
* CMake.qch: Don't include the version in the file nameCraig Scott2019-07-171-2/+1
| | | Fixes: #19374
* Configure CMake itself with policies through CMake 3.14Brad King2019-05-081-1/+1
| | | | | In particular, set `CMP0082` to `NEW` to interleave install commands in the top-level directory with subdirectory installations.
* Declare support for CMake versions through 3.12 for own buildBrad King2018-10-171-1/+1
| | | | | | | | | | CMake 3.12 introduced a `...<max>` syntax in the version given to `cmake_minimum_required` to automatically set policies to NEW up to that version. Use it to avoid listing policies explicitly. The syntax is compatible with older versions of CMake such that they use the extended version string for the `CMAKE_MINIMUM_REQUIRED_VERSION` variable (which we don't use) but otherwise ignore it.
* Utilities/Sphinx: Add option to build and install Info manualOrivej Desh2018-06-121-1/+28
| | | | | Add option `SPHINX_INFO` to enable the Sphinx 'texinfo' builder and use the `makeinfo` tool to convert it to a `.info` file.
* Require CMake 3.1 to build CMake itselfBrad King2017-08-101-1/+1
| | | | | This simplifies some policy settings and use of third-party libraries with imported targets.
* Utilities/Sphinx: Build documentation independently by defaultBrad King2017-05-011-12/+14
| | | | | | | Previously we made the `documentation` target depend on the executable targets. There is no real reason to do this other than serializing the documentation build output in terminals. Move this dependency behind an undocumented option so that it is not on by default.
* Simplify CMake per-source license noticesBrad King2016-09-271-11/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* Require CMake 2.8.12.2 to build CMake itselfBrad King2016-09-151-1/+1
| | | | | This will enable use of features such as ALIAS targets within CMake's own build.
* Utilities/Sphinx: Remove use of continue() methodKonstantin Podsvirov2016-08-021-8/+11
| | | | We currently only require CMake 2.8.4 which does not provide it.
* Install ccmake.1 and cmake-gui.1 conditionally with their tools (#15957)Brad King2016-02-081-0/+8
|
* Utilities/Sphinx: Add CMake_OPTIONAL_COMPONENT macroBrad King2015-07-071-0/+3
| | | | | When building this directory independently define the macro since we will not get the definition from the top level of the source tree.
* CMake: New option CMake_INSTALL_COMPONENTSKonstantin Podsvirov2015-07-071-4/+8
| | | | | By default is OFF. Now it's used with CPack IFW himself installer.
* CMake: Install COMPONENTs (sphinx-man)Konstantin Podsvirov2015-07-071-1/+2
| | | | Added component sphinx-man
* CMake: Install COMPONENTsKonstantin Podsvirov2015-07-071-1/+3
| | | | | | | | | | | | | | | Added components: - cmake - ctest - cpack - cmake-gui - ccmake - data - sphinx-html - sphinx-singlehtml - sphinx-qthelp Other now Unspecified.
* Add option to pass custom flags to sphinx-build (#15545)Brad King2015-04-301-0/+4
| | | | | | | | Create a SPHINX_FLAGS cache entry that users can populate with command-line flags for sphinx-build. Add an option to the bootstrap script to populate it up front. Suggested-by: Felix Geyer <debfx@ubuntu.com>
* Help: Install Sphinx HTML object mapping fileGregor Jasny2015-03-221-2/+0
| | | | | | | | | To link CMake documentation from other documentation sets like KDE extra-cmake-modules the intersphinx extension depends on the objects.inv mapping file. The size overhead of 14k seems to be neglectable. Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
* Help: Fix QtHelp commands on WindowsNils Gladitz2014-07-281-2/+7
| | | | | | | Explicitly invoke python script through the interpreter since windows does not act on hashbangs. Use the found qcollectiongenerator executable rather than what happens to be in PATH.
* Help: Create proper identifiers for keywords in QtHelp.Stephen Kelly2014-06-171-0/+5
| | | | | | | | | This is necessary in order for the QHelpEngineCore::linksForIdentifier API to work. http://doc-snapshot.qt-project.org/qt5-5.3/qhelpenginecore.html#linksForIdentifier That API is used by QtCreator to enable contextual links to help files.
* Merge branch 'master' into doc-singlehtmlBrad King2014-04-241-1/+33
|\ | | | | | | | | Resolve conflicts in Utilities/Sphinx/CMakeLists.txt by adding the help options from both sides.
| * Help: Fix installation of the Qt qch file.Stephen Kelly2014-04-141-1/+1
| | | | | | | | | | | | The file was changed to have the version in its name in commit 111bb67c (Help: Use a more-appropriate qthelp namespace and file name., 2014-04-10).
| * Help: Use a more-appropriate qthelp namespace and file name.Stephen Kelly2014-04-101-0/+5
| | | | | | | | | | Use the namespace org.cmake instead of org.sphinx.cmake. Add the version to the output file name.
| * Help: Workaround Qt 4.8 assistant bug in CSS handling.Stephen Kelly2014-04-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Assistant in Qt 4.8 does not handle css import paths relative to the includer. This is fixed in Qt 4.8 commit b95750a275 (Assistant: Set the url on created QNetworkReply objects., 2014-03-31). It is unknown whether there will be a further Qt 4.8 release containing that commit. Use a CMake script to pre-replace the content prior to generating the qch file. An alternative workaround of moving the files or adding "_static" to the import path did not seem to work for existing Qt 4.8 versions. The bug was fixed in the Qt 5 branch before Qt 5.0. The Qt 5 assistant renders this workaround'ed version correctly too.
| * Help: Add option to create and install Qt .qch file.Stephen Kelly2014-03-311-1/+23
| |
* | Utilities/Sphinx: Add option to build 'singlehtml' formatBrad King2014-04-241-1/+13
|/ | | | Add SPHINX_SINGLEHTML to enable the Sphinx 'singlehtml' builder.
* Utilities/Sphinx: Add option to build 'text' formatBrad King2014-02-041-1/+7
| | | | | | | Add SPHINX_TEXT to enable the Sphinx 'text' builder. Mark it as advanced and do not add install rules. This is intended for use by the release manager to build the release notes in text format suitable for email.
* Help: Do not install Sphinx html build info filesBrad King2014-01-281-1/+4
| | | | | Exclude '.buildinfo' and 'objects.inv' from installation as part of the Sphinx-generated html documentation.
* Help: Remove workaround for pre-CMake 2.8.4 code.Stephen Kelly2014-01-041-2/+1
| | | | | | The requirement was updated in commit 920ffbf5 (Require CMake 2.8.4 or greater to build CMake, 2013-10-11) and similar snippets were removed.
* Help: Parse Copyright.txt instead of using current yearBrad King2013-11-131-0/+9
| | | | | | | Configure our Sphinx conf.py with a copyright line extracted from Copyright.txt instead of using the year in which the documentation is built. This will future-proof the reported copyright year range when building documentation for old versions.
* Help: Configure |version| replacement correctlyBrad King2013-11-041-1/+1
| | | | | Fix our configuration of the Sphinx conf.py 'version' entry to refer to the correctly-spelled CMake_VERSION_(MAJOR|MINOR|PATCH) variables.
* Help: Configure copyright year automaticallyBrad King2013-11-041-1/+0
| | | | | Teach our Sphinx conf.py to compute the copyright end year automatically. Drop our hard-coded configuration for it.
* Merge topic 'doc-conf-auto-manuals'Brad King2013-10-301-0/+1
|\ | | | | | | | | f88332f Help: Glob manual/*.rst in Sphinx configuration
| * Help: Glob manual/*.rst in Sphinx configurationBrad King2013-10-301-0/+1
| | | | | | | | | | | | | | Add the man page description line as explicit markup at the top of each Help/manual/*.rst file and scan it from conf.py to automatically generate the man_pages Sphinx configuration value. This reduces the number of places that need to be changed when a new manual is added.
* | Configure Utilities/Sphinx for standalone build with CTestBrad King2013-10-291-0/+1
|/ | | | | | Include the CTestUseLaunchers module in the standalone build of Utilities/Sphinx so that it can be built under CTest with the CTEST_USE_LAUNCHERS option.
* Build Help documentation during CMake build using SphinxBrad King2013-10-161-0/+106
Add a Utilities/Sphinx directory to hold CMake build code to run the Sphinx (sphinx-doc.org) documentation generation tool. Create a CMakeLists.txt file there capable of building either as a subdirectory of the main CMake build, or as a standalone documentation build. Add cache options SPHINX_MAN and SPHINX_HTML to select output formats and SPHINX_EXECUTABLE to specify the sphinx-build executable. Add bootstrap options --sphix-man and --sphinx-html to select output formats and --sphinx-build=<sb> to specify the sphinx-build executable. Create a "conf.py.in" file to configure_file into "conf.py" to tell sphinx-build how to build our documents. Create a "cmake.py" Sphinx extension module defining: * The "cmake-module" directive used in Help/module/*.rst files to scan .rst markup from the corresponding Modules/*.cmake file. * A Sphinx domain called "cmake" defining documentation object types for CMake Help/<type> directories: command, generator, manual, module, policy, prop_*, and variable. Add a "role" for each type to perform cross-references. Teach the roles to treat "<XYZ>" as placeholders instead of explicit targets if not preceded by a space. Add cmake domain directives to define command and variable objects explicitly in .rst file content. This will allow modules to define their own commands and variables and have them indexed and linkable. * A Sphinx document transform that converts Help/<type>/*.rst documents into cmake domain objects of the corresponding <type> and adds index entries for them. This will automatically index all CMake documentation objects and provide cross-reference targets for them with no special markup in the .rst files.