summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Help: Factor out cmake-generator-expressions manual pageBrad King2013-10-1620-1219/+128
| | | | | | | | | Generator expressions are supported in many places and are a distinct concept worthy of their own manual page. The old builtin documentation was previously represented by preprocessor macros to generate it into each place that supports them. Factor out the duplicate content into a dedicated cmake-generator-expressions manual page and reference it from each original location.
* Help: Factor out COMPILE_DEFINITIONS disclaimer duplicationBrad King2013-10-164-60/+21
| | | | | | | The COMPILE_DEFINITIONS escaping disclaimer was represented in builtin documentation using a preprocessor macro. Factor the duplicate content out into a separate .txt file and include it in each document with the reStructuredText include directive.
* Help: Factor out find_* command duplicationBrad King2013-10-169-628/+227
| | | | | | | These documents were represented in the builtin documentation using a common starting point with placeholders substituted by each command. Convert them back to this approach using the reStructuredText include directive and substitutions to avoid duplication.
* Help: Factor out *_OUTPUT_(NAME|DIRECTORY).rst duplicationBrad King2013-10-169-81/+46
| | | | | | | Portions of these documents contain duplicate content generated from preprocessor macros in the original builtin documentation source. Factor the common parts out into .txt files using reStructuredText include directives and substitutions to avoid duplication.
* Build Help documentation during CMake build using SphinxBrad King2013-10-167-0/+471
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Drop unused builtin documentation APIsBrad King2013-10-166-29/+3
| | | | | Now that all DefineProperty documentation calls have been dropped, drop the supporting APIs.
* Drop the 'Full' field from cmDocumentationEntryBrad King2013-10-1633-663/+187
| | | | | We need only 'Brief' for usage documentation. We no longer have builtin 'Full' documentation, which is now in Help/*/*.rst files.
* Drop builtin command documentationBrad King2013-10-16131-5529/+0
| | | | | Drop all GetTerseDocumentation and GetFullDocumentation methods from commands. The command documentation is now in Help/command/*.rst files.
* Drop builtin property documentationBrad King2013-10-1619-4447/+6
| | | | | | Drop all DefineProperty calls for non-chained properties. Drop the documentation from the chained ones. The documentation for all properties is now in Help/prop_*/*.rst files.
* get_property: Drop test for builtin property documentationBrad King2013-10-161-11/+0
| | | | | Property documentation is no longer builtin, so the get_property command will be unable to return the documentation. Drop the test for it.
* Drop all documentation formatters except UsageBrad King2013-10-1620-1525/+202
| | | | | | | | We now need only the Usage formatter to support command-line options that print basic usage, and the supporting indented=>preformatted markup processor to support CMake message formatting. Drop all other documentation formatters and move the remaining code up into the top cmDocumentationFormatter class.
* Teach COMPATIBLE_INTERFACE_* checks to use Help .rst documentsBrad King2013-10-161-3/+6
| | | | | | These checks want to know if named target properties are builtin, which is now known by checking the Help/prop_tgt directory. (Previously the check could be confused by a define_property call in the project.)
* Teach --help-* options to load documentation from .rst filesBrad King2013-10-166-37/+309
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Install the Help directory next to Modules to make it available in CMake distributions. Use cmRST to read Help .rst documents and print them as help output. Add options --help-manual-list --help-manual to list available manuals or print one of them. Implement the options --help-commands --help-modules --help-policies --help-properties --help-variables by mapping to the corresponding manual page. Implement the options --help-command-list --help-module-list --help-policy-list --help-property-list --help-variable-list by globbing the available Help .rst documents of the corresponding type and reading their titles. Implement the options --help-command --help-module --help-policy --help-property --help-variable by globbing the matching Help .rst document(s) and printing them.
* Add class cmRST to do basic reStructuredText processingBrad King2013-10-1612-0/+766
| | | | | | | | | | | | | | | | Create a cmRST class to perform just enough reStructuredText processing to support display of Help documents in human-readable text format. This will be used to implement --help-* command-line options. Support directives "include", "replace", "parsed-literal", "toctree" (Sphinx), and "cmake-module" (CMake Sphinx Extension to scan .cmake modules). Support inline CMake Sphinx Domain roles to convert cross-references to corresponding title text. Support inline substitutions defined by the "replace" directive, but keep it simple by requiring replacements to be defined before use. Add a CMakeLib "testRST" case to cover processing of supported constructs and compare results against expected output.
* Drop "full" documentation output typesBrad King2013-10-1519-1462/+23
| | | | | | | | | | | | | | | | We will no longer support full documentation generation from executables and will instead generate documentation with other tools. Disable (with a warning left behind) the command-line options: --copyright --help-compatcommands --help-full --help-html --help-man Drop supporting code. Drop manual sections generation from executables. Remove internal documentation construction APIs. Drop unused sections See Also, Author, Copyright, Compat Commands, Custom Modules.
* Help: Fix reStructuredText syntax in auto-generated documentsBrad King2013-10-1519-19/+21
|
* Help: Add index.rst top-level documentBrad King2013-10-151-0/+28
| | | | | | Add a top-level document holding the Sphinx root toctree. List all reference manuals from Help/manual/*.rst and the Sphinx-generated general index (genindex) and search pages.
* ExternalProject: Restore documentation indentation levelBrad King2013-10-151-70/+70
| | | | | This module parses its own documentation to extract supported options. Fix the indentation level to match that expected by the parser.
* Convert builtin help to reStructuredText source filesKitware Robot2013-10-151044-6171/+23771
| | | | | | | | Run the convert-help.bash script to convert documentation: ./convert-help.bash "/path/to/CMake-build/bin" Then remove it.
* Add bash script to convert builtin help to reStructuredTextBrad King2013-10-151-0/+306
| | | | | | | | | | | Create a convert-help.bash script to extract builtin documentation as reStructuredText sources in a new Help directory. Run each executable with the --help-full option targeting a .rst file to extract the documentation. Generate Sphinx "toctree" directives to point each man page at the corresponding documents it should contain. Organize cmake-commands(7), cmake-properties(7), and cmake-variables(7) man pages into sections similar to those generated by --help-properties and --help-variables output previously.
* Add Help/generator/*.rst for Windows- and OS X-only generatorsKitware Robot2013-10-1521-0/+156
| | | | | | Run "cmake --help-full cmake.1.rst" by hand on Windows and OS X. Copy the generator/*.rst documents for generators unique to those platforms into Help/generator.
* Add reStructuredText (RST) documentation formatterBrad King2013-10-158-4/+180
| | | | | | | | | | | | | | | | | | | | Temporarily add a RST formatter to convert builtin documentation to .rst source files. This will be removed shortly after we use it to convert documentation. Teach the RST formatter to: * Output preformatted blocks as reStructuredText "::" literal blocks. * Output option lists as bullet lists with option names enclosed in reStructuredText ``literal`` quoting. * Output individual documentation objects (commands, variables, etc.) in separate .rst files organized in directories by type. Replace references to cmVersion::GetCMakeVersion() in builtin documentation with the literal placeholder "|release|" that will be defined as a substitution later.
* Drop CPack module documentation markup extractionBrad King2013-10-153-386/+0
| | | | This will be replaced by alternative markup later.
* Drop definition of internal propertyBrad King2013-10-151-5/+0
| | | | | The property __CMAKE_DELETE_CACHE_CHANGE_VARS_ is not meant for public exposure.
* Drop CMAKE_STRICT modeBrad King2013-10-159-215/+0
| | | | | | | With our modern development workflow it is less likely a property will be added to C++ code without documentation. This mode only existed to support the DocTest which had very limited coverage of the properties anyway.
* Drop documentation generation during buildBrad King2013-10-151-120/+0
| | | | | | Drop the 'documentation' build target. We will no longer use the executables to generate their own documentation. New infrastructure will be introduced later to generate documentation.
* Set IDE folder for CMake 'documentation' target only if it existsBrad King2013-10-151-1/+3
| | | | | The documentation target will be come optional, so do not reference it when it does not exist.
* Drop xmllint documentation testsBrad King2013-10-1539-16016/+0
| | | | | Drop these tests since we will drop docbook output along with other documentation formatters.
* Move cmake.m4 from Utilities to AuxiliaryBrad King2013-10-153-1/+1
| | | | | The latter fits more consistently with other third party integration files.
* Rename Docs to AuxiliaryBrad King2013-10-1510-2/+2
| | | | | The directory contains auxiliary support files for integration with other tools, not documentation.
* cmDocumentation: Drop version output from usage and text helpBrad King2013-10-151-8/+1
| | | | | Drop the "cmake version ..." line from the top of usage and text help formats. Print it only when requested with --version or similar option.
* cmake: Add --help-policy-list optionBrad King2013-10-153-1/+16
| | | | | All the other --help-<item> options have a corresponding option --help-<item>-list. Add one for --help-policy.
* Cleanup use of CMake version in install destinationsBrad King2013-10-153-30/+68
| | | | | | | | | | | | | | | | | Factor the CMAKE_DATA_DIR, CMAKE_DOC_DIR, and CMAKE_MAN_DIR selection out of CMakeLists.txt and into a Source/CMakeInstallDestinations.cmake script. Load the script from the original location of the code. Cache the destination values as empty strings so we know if the user sets them explicitly. If not, then compute defaults based on the platform and full CMake version string. By not caching the versioned defaults, we can change them in a single build tree as the version changes. Remove duplication of the install destination defaults from the bootstrap script. Cache empty defaults there too. Parse from the CMake code the default values to report in the help output. Keep the CMake code in a structured format to make this reliable.
* Factor CMake version logic into dedicated moduleBrad King2013-10-152-21/+25
| | | | | | Move logic to compute CMake_VERSION out of the top-level CMakeLists.txt file to a dedicated Source/CMakeVersionCompute.cmake module and include it from the original location. This will allow it to be re-used.
* bootstrap: Report -rc# in --version outputBrad King2013-10-151-0/+4
|
* Merge topic 'doc-list-append-nothing'Brad King2013-10-151-1/+1
|\ | | | | | | | | eec7834 list: Fix docs for APPEND to show that elements are optional
| * list: Fix docs for APPEND to show that elements are optionalРоман Донченко2013-10-141-1/+1
| | | | | | | | | | | | | | list(APPEND) has been able to append nothing since commit a06dcdba (Allow LIST(APPEND) command to append nothing, 2008-01-16) but the documentation still used to imply that at least one argument is required.
* | Merge topic 'wix-extra-sources'Brad King2013-10-153-0/+46
|\ \ | | | | | | | | | | | | 2e6cadd CPackWiX: allow user supplied extra sources, objects and libraries
| * | CPackWiX: allow user supplied extra sources, objects and librariesNils Gladitz2013-10-133-0/+46
| | |
* | | Merge topic 'wix-deterministic-ids'Brad King2013-10-152-23/+150
|\ \ \ | | | | | | | | | | | | | | | | 3a4a748 CPackWiX: generate deterministic ids for directories, components and files
| * | | CPackWiX: generate deterministic ids for directories, components and filesNils Gladitz2013-10-122-23/+150
| | | |
* | | | Merge topic 'target-LOCATION-policy'Brad King2013-10-1520-9/+152
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | e4e5b28 cmTarget: Deprecate the LOCATION target property with a policy.
| * | | | cmTarget: Deprecate the LOCATION target property with a policy.Stephen Kelly2013-10-1120-9/+152
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The final location and name of a build-target is not determined until generate-time. However, reading the LOCATION property from a target is currently allowed at configure time. Apart from creating possibly-erroneous results, this has an impact on the implementation of cmake itself, and prevents some major cleanups from being made. Disallow reading LOCATION from build-targets with a policy. Port some existing uses of it in CMake itself to use the TARGET_FILE generator expression.
* | | | Merge topic 'FindCUDA-NPP-5.5'Brad King2013-10-151-1/+16
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 5076218 FindCUDA: Fix NPP library search for CUDA 5.5
| * | | | FindCUDA: Fix NPP library search for CUDA 5.5Vladislav Vinogradov2013-10-111-1/+16
| | | | | | | | | | | | | | | | | | | | In CUDA 5.5 NPP was divided onto 3 separate libraries: nppc, npps, nppi.
* | | | | Merge topic 'deprecate-COMPILE_FLAGS'Brad King2013-10-151-1/+4
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 3507d5a Deprecate COMPILE_FLAGS target property.
| * | | | | Deprecate COMPILE_FLAGS target property.Stephen Kelly2013-10-111-1/+4
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | It is succeeded by COMPILE_OPTIONS, which supports generator expressions, is a list rather than a string, and is properly escaped.
* | | | | Merge topic 'export-at-generate-time'Brad King2013-10-1513-111/+209
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a4263c9 export(): Handle multiple dependent export sets. 66b290e export(): Process the export() command at generate time. 5fe5c32 export(): Set a Makefile on the cmExportBuildFileGenerator. e383555 cmExportInstallFileGenerator: Fix comment to match reality.
| * | | | | export(): Handle multiple dependent export sets.Stephen Kelly2013-10-112-10/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The export-sets topic, merged in commit 49c7b649 (Merge topic 'export-sets', 2012-10-01) changed install(EXPORT) to allow exporting targets whose dependents are exported separately to different locations. Doing the same for export() was not possible because the export() command was executed at configure-time. Now that export() is also executed at generate-time, make it possible to export to multiple dependent export sets.
| * | | | | export(): Process the export() command at generate time.Stephen Kelly2013-10-1112-83/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the API for adding targets string based so that it can easily use cmGeneratorTarget. Teach the cmIncludeCommand to generate the exported file at configure-time instead if it is to be include()d. The RunCMake.ExportWithoutLanguage test now needs a dummy header.h file as expected error from export() is now reported after the missing file error.