1. 13 Nov, 2019 1 commit
  2. 04 May, 2017 1 commit
  3. 08 Nov, 2016 1 commit
  4. 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.
      86578ecc
  5. 09 Feb, 2016 1 commit
  6. 29 Jan, 2014 1 commit
    • Brad King's avatar
      Utilities/Release: Pass pre-built docs tarball · ef7a1b41
      Brad King authored
      Avoid requiring all build machines for the upstream packaging process to
      have Python and Sphinx installed.  Instead create a way to build the
      documentation once on the host machine and copy it to each build machine
      as a tarball with content to include in the installation tree for
      packaging.
      ef7a1b41
  7. 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.
      bfe07aa9
  8. 15 Oct, 2013 3 commits
  9. 11 Oct, 2013 1 commit
    • Stephen Kelly's avatar
      cmTarget: Deprecate the LOCATION target property with a policy. · e4e5b28c
      Stephen Kelly authored
      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.
      e4e5b28c
  10. 26 Aug, 2013 1 commit
    • Brad King's avatar
      Clean up install rules of CMake itself (#14371) · df62f64d
      Brad King authored
      Ensure CMAKE_DATA_DIR, CMAKE_DOC_DIR, and CMAKE_MAN_DIR are always
      relative paths in CMake code, and set defaults accordingly.  Use the
      install() command instead of install_files() and install_targets().
      This is more modern and also avoids stripping of the first character
      from user-specified destinations.
      
      While at it, fix the default destinations reported in the bootstrap
      help.
      df62f64d
  11. 07 Aug, 2013 1 commit
  12. 08 Sep, 2012 1 commit
  13. 07 Sep, 2012 1 commit
  14. 15 Aug, 2012 1 commit
  15. 13 Aug, 2012 3 commits
    • Kitware Robot's avatar
      Remove CMake-language block-end command arguments · 9db31162
      Kitware Robot authored
      Ancient versions of CMake required else(), endif(), and similar block
      termination commands to have arguments matching the command starting the
      block.  This is no longer the preferred style.
      
      Run the following shell code:
      
      for c in else endif endforeach endfunction endmacro endwhile; do
          echo 's/\b'"$c"'\(\s*\)(.\+)/'"$c"'\1()/'
      done >convert.sed &&
      git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
      egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
      egrep -z -v 'Tests/CMakeTests/While-Endwhile-' |
      xargs -0 sed -i -f convert.sed &&
      rm convert.sed
      9db31162
    • Kitware Robot's avatar
      Convert CMake-language commands to lower case · 77543bde
      Kitware Robot authored
      Ancient CMake versions required upper-case commands.  Later command
      names became case-insensitive.  Now the preferred style is lower-case.
      
      Run the following shell code:
      
      cmake --help-command-list |
      grep -v "cmake version" |
      while read c; do
          echo 's/\b'"$(echo $c | tr '[:lower:]' '[:upper:]')"'\(\s*\)(/'"$c"'\1(/g'
      done >convert.sed &&
      git ls-files -z -- bootstrap '*.cmake' '*.cmake.in' '*CMakeLists.txt' |
      egrep -z -v '^(Utilities/cm|Source/kwsys/)' |
      xargs -0 sed -i -f convert.sed &&
      rm convert.sed
      77543bde
    • Kitware Robot's avatar
      Remove trailing whitespace from most CMake and C/C++ code · 7bbaa428
      Kitware Robot authored
      Our Git commit hooks disallow modification or addition of lines with
      trailing whitespace.  Wipe out all remnants of trailing whitespace
      everywhere except third-party code.
      
      Run the following shell code:
      
      git ls-files -z -- \
       bootstrap doxygen.config '*.readme' \
       '*.c' '*.cmake' '*.cpp' '*.cxx' \
       '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
       '*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
      egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
      egrep -z -v '^(Modules/CPack\..*\.in)' |
      xargs -0 sed -i 's/ \+$//'
      7bbaa428
  16. 26 Aug, 2011 1 commit
    • David Cole's avatar
      cmake.m4: Use modern signature of install(FILES ...) · a2a0a8e0
      David Cole authored
      The older install_files command uses a leading slash in front
      of the destination directory, whereas the modern signature does
      not. Use the modern signature since that's what the CMake devs
      are now used to.
      a2a0a8e0
  17. 11 Aug, 2011 1 commit
  18. 04 Nov, 2010 1 commit
    • David Cole's avatar
      No CMake.HTML test if xmllint has no --nonet. · 5d3cfdc1
      David Cole authored
      In commit bb1df1ec, we temporarily ran an alternate test,
      guaranteed to fail when the --help output of xmllint did
      not contain --nonet and --path.
      
      This commit simply eliminates the test altogether in
      this condition rather than make an attempt (doomed to
      fail) to pull down the dtd over the internet.
      
      On date=2010-11-04, the CMake dashboard results showed that
      the test failed on the following CMake dashboard machines:
      
        dash8.kitware
        dash8.kitwarein.com
        dashsun1
        dashsun1.kitware
        ferrari
      
      This is a very small subset of the dashboard machines, and
      we have enough proof from enough other machines that the test
      passes with xmllint versions new enough to have the --nonet
      support.
      
      Therefore, eliminate the CMake.HTML test on machines with old
      versions of xmllint. To run the test, make sure you run it
      on a machine with a new enough xmllint.
      5d3cfdc1
  19. 02 Nov, 2010 1 commit
  20. 23 Jun, 2010 1 commit
  21. 22 Jun, 2010 1 commit
  22. 01 Mar, 2010 2 commits
  23. 01 Oct, 2009 1 commit
  24. 28 Sep, 2009 1 commit
    • Brad King's avatar
      Convert CMake to OSI-approved BSD License · 96afb120
      Brad King authored
      This converts the CMake license to a pure 3-clause OSI-approved BSD
      License.  We drop the previous license clause requiring modified
      versions to be plainly marked.  We also update the CMake copyright to
      cover the full development time range.
      96afb120
  25. 24 Feb, 2009 2 commits
    • Brad King's avatar
      BUG: Fix cmake-gui docs generation PATH feature · 1353ed0b
      Brad King authored
      Automatic addition of the Qt DLL location to PATH can be done only for
      generators that use a Windows shell.
      1353ed0b
    • Brad King's avatar
      ENH: Help cmake-gui docs generation on Windows · 0d2f241e
      Brad King authored
      We use a custom command to run 'cmake-gui --help...' to generate the
      documentation for the application.  Since this is a Qt application, the
      executable must find the Qt DLLs in order to run.  As a convenience, if
      QtCore4.dll appears next to qmake.exe, we put its location in the PATH
      environment variable when running the custom command on Windows.
      0d2f241e
  26. 13 Feb, 2009 1 commit
  27. 13 May, 2008 1 commit
  28. 24 Oct, 2007 1 commit
  29. 13 Jul, 2007 1 commit
    • Alexander Neundorf's avatar
      · 1941b1c5
      Alexander Neundorf authored
      STYLE: better error message, name the new manpages cmakecommands,
      cmakecompat, cmakeprops and cmakemodules
      
      Alex
      1941b1c5
  30. 06 Jul, 2007 1 commit
    • Alexander Neundorf's avatar
      · 919988b7
      Alexander Neundorf authored
      BUG: the cmake deps depend on cmake
      
      Alex
      919988b7
  31. 02 Jul, 2007 1 commit
    • Alexander Neundorf's avatar
      · 55fa3825
      Alexander Neundorf authored
      BUG: fix build with cmake < 2.4
      
      Alex
      55fa3825
  32. 28 Jun, 2007 2 commits
    • Alexander Neundorf's avatar
      · 151d5555
      Alexander Neundorf authored
      ENH: generate separate documentation for the commands, compatiblity
      commands, modules and properties as html, text and man pages.
      The names of the man pages are cmcommands, cmcompat, cmprops and cmmodules,
      so they are easy to type.
      
      Alex
      151d5555
    • Alexander Neundorf's avatar
      · c95dc912
      Alexander Neundorf authored
      ENH:
      -in the full documentation there is now an extra section for
      compatibility commands, so users see which commands they shouldn't use
      -cmake -h <command> now also works with lower case commands
      --help-fullm --help-command, --help-module and --help-property now determine
      the output format from the extension of the given filename
      
      Let me know if there are some things I overlooked.
      
      Alex
      c95dc912
  33. 15 Jun, 2007 1 commit
    • Alexander Neundorf's avatar
      · c2f7a3c0
      Alexander Neundorf authored
      STYLE: use a macro for generating the documentation
      
      Alex
      c2f7a3c0