1. 27 Sep, 2016 1 commit
    • Brad King's avatar
      Simplify CMake per-source license notices · 86578ecc
      Brad King authored
      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.
  2. 04 Dec, 2014 1 commit
    • Brad King's avatar
      Utilities/Sphinx: Fix link targets for mixed-case command names · 607b39dc
      Brad King authored
      When a CMake domain 'command' object is defined by CMakeTransform or the
      'cmake:command' directive, generate the link target with a lower-case
      name even if the command name is not all lower-case.  This is needed to
      make cross-references to the command definition work since the
      'cmake:command' role is marked with the 'lowercase' property.
  3. 17 Nov, 2014 1 commit
  4. 12 Nov, 2014 1 commit
    • Brad King's avatar
      Utilities/Sphinx: Add index entries for cross-references · 7ca9a459
      Brad King authored
      Add a document transform to insert index and target nodes just before
      any CMake domain cross-reference node.  This will make references to
      CMake domain objects appear in the index.  Also add a comment explaining
      why it cannot be done in a result_nodes method of the CMakeXRefRole.
  5. 28 May, 2014 1 commit
    • Nils Gladitz's avatar
      Add an "installed file" property scope · 15a8af21
      Nils Gladitz authored
      Teach set_property and get_property an "INSTALL" property type to be
      associated with install-tree file paths.  Make the properties available
      to CPack for use during packaging.  Add a "prop_inst" Sphinx domain
      object type for documentation of such properties.
  6. 24 Apr, 2014 1 commit
  7. 18 Apr, 2014 1 commit
  8. 31 Mar, 2014 1 commit
  9. 04 Jan, 2014 1 commit
  10. 23 Dec, 2013 1 commit
  11. 23 Oct, 2013 1 commit
    • Brad King's avatar
      cmRST: Teach cmake-module directive to scan bracket comments · 2945814d
      Brad King authored
      When scanning CMake module files for .rst comments, recognize
      bracket comments starting in ".rst:" too.  For example:
      Include the bracket comment content terminated by the closing bracket.
      Exclude the line containing the bracket if it starts in "#".
      Teach the CMakeLib.testRST test to cover multiple bracket lengths
      and ending brackets on lines with and without "#".
      Update the cmake-developer.7 manual to document the bracket-comment
      syntax for .rst documentation.
  12. 16 Oct, 2013 1 commit
    • Brad King's avatar
      Build Help documentation during CMake build using Sphinx · bfe07aa9
      Brad King authored
      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.