1. 17 Jan, 2019 1 commit
  2. 16 Jan, 2019 1 commit
  3. 07 Oct, 2018 1 commit
    • Craig Scott's avatar
      project(): Ensure DESCRIPTION and HOMEPAGE_URL variables are set · f8a086a8
      Craig Scott authored
      If a project() call does not have DESCRIPTION or HOMEPAGE_URL
      options, it must still set the relevant variables or else those variables will
      inherit values from an earlier project() call. That is inconsistent with how
      VERSION is handled and is likely to be unexpected. The docs were also
      ambiguous about what should happen in such cases.
      f8a086a8
  4. 27 Aug, 2018 1 commit
  5. 24 Jul, 2018 1 commit
  6. 02 May, 2018 1 commit
    • Alex Turbov's avatar
      CPack: Use project version as default for `CPACK_PACKAGE_VERSION` · af1c4887
      Alex Turbov authored
      * Introduce `CMAKE_PROJECT_VERSION` and the corresponsing components:
        `CMAKE_PROJECT_VERSION_MAJOR`, `CMAKE_PROJECT_VERSION_MINOR`,
        `CMAKE_PROJECT_VERSION_PATCH` and `CMAKE_PROJECT_VERSION_TWEAK`.
      
      * `CPack` module use `CMAKE_PROJECT_VERSION_MAJOR`,
        `CMAKE_PROJECT_VERSION_MINOR` and `CMAKE_PROJECT_VERSION_PATCH`
        to initialize corresponsing CPack variables.
      af1c4887
  7. 16 Mar, 2018 2 commits
    • Alex Turbov's avatar
      project: Add HOMEPAGE_URL named parameter · 73f9b297
      Alex Turbov authored
      This sets variables like PROJECT_HOMEPAGE_URL, which can be
      used as default values for various things (packaging modules,
      doxygen defaults, etc.). Some packaging modules have been
      updated to do this as part of this commit.
      
      Co-Author: Craig Scott <craig.scott@crascit.com>
      73f9b297
    • Craig Scott's avatar
      project: Add <PROJECT-NAME>_DESCRIPTION · fd28c382
      Craig Scott authored
      For consistency with the VERSION keyword, also define the
      <PROJECT-NAME>_DESCRIPTION variable.
      fd28c382
  8. 07 Mar, 2018 1 commit
  9. 03 Jan, 2018 1 commit
  10. 12 Sep, 2017 1 commit
  11. 26 May, 2017 1 commit
  12. 11 Apr, 2017 2 commits
    • Daniel Pfeifer's avatar
      Use quotes for non-system includes · 1d829c86
      Daniel Pfeifer authored
      Automate with:
      
      git grep -l '#include <cm_' -- Source \
        | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g'
      
      git grep -l '#include <cmsys/' -- Source \
        | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g'
      
      git grep -l '#include <cm[A-Z]' -- Source \
        | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
      1d829c86
    • Alex Turbov's avatar
      project: Add `DESCRIPTION` parameter · 3b484871
      Alex Turbov authored
      It is quite often the project description has used in a real world software.
      Examples include:
      
      * part of a help screen of the application
      * builtin resources (`*.rc` files, data for "About" dialog of a GUI app, & etc)
      * most generators for CPack can use it
      * it could be used by documentary software (Doxygen, Sphinx) which is usually
        integrated to CMake based projects via `add_custom_target()`
      
      Now `project()` call learned an optional `DESCRIPTION` parameter with a
      short string describing a project. Being specified, it would set the
      `PROJECT_DESCRIPTION` variable which could be used in `configure_file()`
      or whatever user wants.  Also `PROJECT_DESCRIPTION` is a default value
      for `CPACK_PACKAGE_DESCRIPTION_SUMMARY`.
      3b484871
  13. 26 Oct, 2016 1 commit
  14. 21 Oct, 2016 1 commit
  15. 19 Oct, 2016 1 commit
  16. 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
  17. 15 Sep, 2016 1 commit
  18. 16 May, 2016 1 commit
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format · d9fd2f54
      Kitware Robot authored
      Run the `Utilities/Scripts/clang-format.bash` script to update
      all our C++ code to a new style defined by `.clang-format`.
      Use `clang-format` version 3.8.
      
      * If you reached this commit for a line in `git blame`, re-run the blame
        operation starting at the parent of this commit to see older history
        for the content.
      
      * See the parent commit for instructions to rebase a change across this
        style transition commit.
      d9fd2f54
  19. 25 Aug, 2015 1 commit
  20. 21 Jun, 2015 1 commit
  21. 09 Jun, 2015 1 commit
  22. 14 May, 2015 1 commit
  23. 04 May, 2015 1 commit
  24. 20 Apr, 2015 2 commits
  25. 18 Apr, 2015 1 commit
  26. 13 Apr, 2015 1 commit
  27. 11 Jan, 2015 1 commit
  28. 11 Mar, 2014 1 commit
    • Stephen Kelly's avatar
      Remove some c_str() calls. · 21c573f6
      Stephen Kelly authored
      Use the clang RemoveCStrCalls tool to automatically migrate the
      code. This was only run on linux, so does not have any positive or
      negative effect on other platforms.
      21c573f6
  29. 29 Jan, 2014 2 commits
    • Brad King's avatar
      project: Manage VERSION variables · 7e142c5a
      Brad King authored
      Teach the project() command to set variables
      
        {PROJECT,<PROJECT-NAME>}_VERSION{,_MAJOR,_MINOR,_PATCH,_TWEAK}
      
      holding the project version number and its components.  Add project()
      command option "VERSION" to specify the version explicitly, and default
      to the empty string when it is not given.
      
      Since this clears variables when no VERSION is given, this may change
      behavior for existing projects that set the version variables themselves
      prior to calling project().  Add policy CMP0048 for compatibility.
      Suggested-by: Alexander Neundorf's avatarAlex Neundorf <neundorf@kde.org>
      7e142c5a
    • Brad King's avatar
      project: Add optional LANGUAGES keyword · 16d040c9
      Brad King authored
      Teach the project() command to recognize an optional "LANGUAGES"
      keyword after the project name and prior to the list of languages.
      Do not allow multiple copies of the keyword.  If the keyword is
      specified and no languages are listed, imply NONE.
      16d040c9
  30. 13 Aug, 2012 1 commit
    • 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
  31. 29 Feb, 2012 1 commit
  32. 17 Feb, 2012 1 commit
  33. 20 Dec, 2011 1 commit
    • Bill Hoffman's avatar
      Fix the case where cmake --build failed with two project cmds in one file. · 5badf5f7
      Bill Hoffman authored
      This adds a test that uses two project commands in the same CMakeLists.txt
      file.  It also adds a fix so that cmake --build will work in that case.
      The fix sets the name of the last project command in the top level
      CMakeLists.txt in the cache variable CMAKE_PROJECT_NAME.  This variable
      is used by cmake --build to find the project name.
      5badf5f7
  34. 01 Oct, 2009 1 commit
  35. 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
  36. 15 Oct, 2008 1 commit