1. 16 Oct, 2013 13 commits
    • Brad King's avatar
      Help: Factor out COMPILE_DEFINITIONS disclaimer duplication · 97e8650d
      Brad King authored
      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.
      97e8650d
    • Brad King's avatar
      Help: Factor out find_* command duplication · 89821613
      Brad King authored
      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.
      89821613
    • Brad King's avatar
      Help: Factor out *_OUTPUT_(NAME|DIRECTORY).rst duplication · 30b21860
      Brad King authored
      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.
      30b21860
    • 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, genera...
      bfe07aa9
    • Brad King's avatar
      Drop unused builtin documentation APIs · 53ded595
      Brad King authored
      Now that all DefineProperty documentation calls have been dropped, drop
      the supporting APIs.
      53ded595
    • Brad King's avatar
      Drop the 'Full' field from cmDocumentationEntry · 0c39a757
      Brad King authored
      We need only 'Brief' for usage documentation.  We no longer have builtin
      'Full' documentation, which is now in Help/*/*.rst files.
      0c39a757
    • Brad King's avatar
      Drop builtin command documentation · e33d8d2d
      Brad King authored
      Drop all GetTerseDocumentation and GetFullDocumentation methods from
      commands.  The command documentation is now in Help/command/*.rst files.
      e33d8d2d
    • Brad King's avatar
      Drop builtin property documentation · 399e9c46
      Brad King authored
      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.
      399e9c46
    • Brad King's avatar
      get_property: Drop test for builtin property documentation · 6035c045
      Brad King authored
      Property documentation is no longer builtin, so the get_property command
      will be unable to return the documentation.  Drop the test for it.
      6035c045
    • Brad King's avatar
      Drop all documentation formatters except Usage · 80a3273b
      Brad King authored
      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.
      80a3273b
    • Brad King's avatar
      Teach COMPATIBLE_INTERFACE_* checks to use Help .rst documents · b336a1eb
      Brad King authored
      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.)
      b336a1eb
    • Brad King's avatar
      Teach --help-* options to load documentation from .rst files · ec6df367
      Brad King authored
      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.
      ec6df367
    • Brad King's avatar
      Add class cmRST to do basic reStructuredText processing · 25f2877e
      Brad King authored
      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.
      25f2877e
  2. 15 Oct, 2013 27 commits
    • Brad King's avatar
      Drop "full" documentation output types · 87cc62ca
      Brad King authored
      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.
      87cc62ca
    • Brad King's avatar
    • Brad King's avatar
      Help: Add index.rst top-level document · 6ceb6511
      Brad King authored
      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.
      6ceb6511
    • Brad King's avatar
      ExternalProject: Restore documentation indentation level · c717e2aa
      Brad King authored
      This module parses its own documentation to extract supported options.
      Fix the indentation level to match that expected by the parser.
      c717e2aa
    • Kitware Robot's avatar
      Convert builtin help to reStructuredText source files · f051814e
      Kitware Robot authored
      Run the convert-help.bash script to convert documentation:
      
       ./convert-help.bash "/path/to/CMake-build/bin"
      
      Then remove it.
      f051814e
    • Brad King's avatar
      Add bash script to convert builtin help to reStructuredText · e94958e9
      Brad King authored
      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.
      e94958e9
    • Kitware Robot's avatar
      Add Help/generator/*.rst for Windows- and OS X-only generators · 81759c77
      Kitware Robot authored
      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.
      81759c77
    • Brad King's avatar
      Add reStructuredText (RST) documentation formatter · f85405f5
      Brad King authored
      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.
      f85405f5
    • Brad King's avatar
      Drop CPack module documentation markup extraction · 0d0fec15
      Brad King authored
      This will be replaced by alternative markup later.
      0d0fec15
    • Brad King's avatar
      Drop definition of internal property · 946f0efb
      Brad King authored
      The property __CMAKE_DELETE_CACHE_CHANGE_VARS_ is not meant for public
      exposure.
      946f0efb
    • Brad King's avatar
      Drop CMAKE_STRICT mode · 277bd1db
      Brad King authored
      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.
      277bd1db
    • Brad King's avatar
      Drop documentation generation during build · 678aaad1
      Brad King authored
      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.
      678aaad1
    • Brad King's avatar
      Set IDE folder for CMake 'documentation' target only if it exists · 09be0bb0
      Brad King authored
      The documentation target will be come optional, so do not reference it
      when it does not exist.
      09be0bb0
    • Brad King's avatar
      Drop xmllint documentation tests · e49efe91
      Brad King authored
      Drop these tests since we will drop docbook output along with other
      documentation formatters.
      e49efe91
    • Brad King's avatar
      Move cmake.m4 from Utilities to Auxiliary · 189008ea
      Brad King authored
      The latter fits more consistently with other third party integration
      files.
      189008ea
    • Brad King's avatar
      Rename Docs to Auxiliary · b601e235
      Brad King authored
      The directory contains auxiliary support files for integration with
      other tools, not documentation.
      b601e235
    • Brad King's avatar
      cmDocumentation: Drop version output from usage and text help · 07b80021
      Brad King authored
      Drop the "cmake version ..." line from the top of usage and text help
      formats.  Print it only when requested with --version or similar option.
      07b80021
    • Brad King's avatar
      cmake: Add --help-policy-list option · 6e68bc22
      Brad King authored
      All the other --help-<item> options have a corresponding option
      --help-<item>-list.  Add one for --help-policy.
      6e68bc22
    • Brad King's avatar
      Cleanup use of CMake version in install destinations · c9a5f34b
      Brad King authored
      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.
      c9a5f34b
    • Brad King's avatar
      Factor CMake version logic into dedicated module · c72f8513
      Brad King authored
      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.
      c72f8513
    • Brad King's avatar
      bootstrap: Report -rc# in --version output · 82578d99
      Brad King authored
      82578d99
    • Brad King's avatar
      Merge topic 'doc-list-append-nothing' · cb51088f
      Brad King authored
      eec7834e list: Fix docs for APPEND to show that elements are optional
      cb51088f
    • Brad King's avatar
      Merge topic 'wix-extra-sources' · 69fd1258
      Brad King authored
      2e6cadde CPackWiX: allow user supplied extra sources, objects and libraries
      69fd1258
    • Brad King's avatar
      Merge topic 'wix-deterministic-ids' · cd36929c
      Brad King authored
      3a4a7482 CPackWiX: generate deterministic ids for directories, components and files
      cd36929c
    • Brad King's avatar
      Merge topic 'target-LOCATION-policy' · b31ca93b
      Brad King authored
      e4e5b28c cmTarget: Deprecate the LOCATION target property with a policy.
      b31ca93b
    • Brad King's avatar
      Merge topic 'FindCUDA-NPP-5.5' · 21ccad58
      Brad King authored
      50762188 FindCUDA: Fix NPP library search for CUDA 5.5
      21ccad58
    • Brad King's avatar
      Merge topic 'deprecate-COMPILE_FLAGS' · 34f66ae2
      Brad King authored
      3507d5af Deprecate COMPILE_FLAGS target property.
      34f66ae2