1. 08 May, 2018 2 commits
  2. 04 May, 2018 1 commit
  3. 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
  4. 27 Apr, 2018 1 commit
  5. 23 Apr, 2018 2 commits
  6. 20 Dec, 2017 1 commit
  7. 19 Nov, 2017 1 commit
  8. 08 Nov, 2017 1 commit
    • Domen Vrankar's avatar
      CPack: enable setting default dir creation permissions · 7e896029
      Domen Vrankar authored
      Introduces CPACK_DEFAULT_DIRECTORY_INSTALL_PERMISSIONS
      variable which adds support for functionality introduced
      by CMAKE_DEFAULT_DIRECTORY_INSTALL_PERMISSIONS variable.
      
      Fixes #17333
      
      # Conflicts:
      #	Help/release/dev/cmake-default-dir-install-permissions.rst
      7e896029
  9. 10 Jun, 2017 1 commit
    • Adriaan de Groot's avatar
      CPack-FreeBSD: add a generator for FreeBSD pkg(8) · 2042cae9
      Adriaan de Groot authored
      Adds an option CPACK_ENABLE_FREEBSD_PKG to allow CPack to look
      for FreeBSD's libpkg / pkg(8). If this is set and the libpkg
      headers and library are found (which they will be, by default,
      on any FreeBSD system), then add a FreeBSD pkg(8) generator.
      
      The FreeBSD package tool pkg(8) uses tar.xz files (.txz) with two
      metadata files embedded (+MANIFEST and +COMPACT_MANIFEST).
      This introduces a bunch of FreeBSD-specific CPACK_FREEBSD_PACKAGE_*
      variables for filling in the metadata; the Debian generator does
      something similar. Documentation for the CPack CMake-script is styled
      after the Debian generator.
      
      Implementation notes:
       - Checks for libpkg -- the underlying implementation for pkg(8) --
         and includes FreeBSD package-generation if building CMake on
         a UNIX host. Since libpkg can be used on BSDs, Linux and OSX,
         this potentially adds one more packaging format. In practice,
         this will only happen on FreeBSD and DragonflyBSD.
       - Copy-paste from cmCPackArchiveGenerator to special-case
         the metadata generation and to run around the internal
         archive generation: use libpkg instead.
       - Generating the metadata files is a little contrived.
       - Most of the validation logic for package settings is in
         CPackFreeBSD.cmake, as well as the code that tries to re-use
         packaging settings that may already be set up for Debian.
       - libpkg has its own notion of output filename, so we have
         another contrived bit of code that munges the output file
         list so that CPack can find the output.
       - Stick with C++98.
      2042cae9
  10. 11 Apr, 2017 1 commit
    • 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
  11. 10 Nov, 2016 1 commit
  12. 27 Sep, 2016 2 commits
    • 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
    • Domen Vrankar's avatar
      CPack/RPM debuginfo packages must contain sources · b78fcf0d
      Domen Vrankar authored
      Issue #15668 fix was missing relevant source
      files in debuginfo package.
      b78fcf0d
  13. 20 Sep, 2016 1 commit
  14. 19 Sep, 2016 1 commit
  15. 27 Jul, 2016 1 commit
    • Daniel Pfeifer's avatar
      Use string(APPEND) in Modules · 5d0d980d
      Daniel Pfeifer authored
      Automate with:
      
      find Modules -type f -print0 | xargs -0 perl -i -0pe \
      's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
      5d0d980d
  16. 03 Jun, 2016 1 commit
  17. 28 Oct, 2015 1 commit
  18. 20 Sep, 2015 1 commit
    • Roman Donchenko's avatar
      Introduction of CPACK_VERBATIM_VARIABLES variable · bc2e54db
      Roman Donchenko authored
      If variable is set to TRUE, values of all variables prefixed with CPACK_
      will be escaped so special characters such as dolar sign, quotes or
      foreward slash will not be lost. By default variable is treated as set
      to FALSE for back compatibility.
      
      The cpack_encode_variables macro is changed into a function to remove
      scope pollution. There should be no other effects.
      bc2e54db
  19. 09 Sep, 2015 1 commit
    • Roman Donchenko's avatar
      CPack: don't mangle CMake-special characters when applying default settings · 2a7772ff
      Roman Donchenko authored
      Mangling is prevented by using a function instead of a macro for setting
      default value of some CPack variables. Function is meant for internal use
      in CPack.cmake only.
      Old macro is deprecated but kept for backwards compatibility - was
      intended for internal use only as it can't be used for CPack after
      CPack.cmake script is included.
      Patch removes local workarounds that were required by old macro,
      fixes default setting of variables that by default inherit value from
      another variable that already went through old default setting macro
      (e.g. value of CPACK_PACKAGE_INSTALL_REGISTRY_KEY caused error for
      wrong escapes if CPACK_PACKAGE_INSTALL_DIRECTORY contained escaped
      back slashes) and provides a test for correct escaping of characters.
      2a7772ff
  20. 29 Apr, 2015 1 commit
  21. 02 Mar, 2015 1 commit
  22. 04 Feb, 2015 1 commit
  23. 31 Jul, 2014 2 commits
  24. 30 Jul, 2014 2 commits
  25. 28 Jul, 2014 1 commit
  26. 08 Feb, 2014 1 commit
  27. 13 Nov, 2013 1 commit
  28. 01 Nov, 2013 2 commits
  29. 31 Oct, 2013 1 commit
  30. 16 Oct, 2013 1 commit
  31. 15 Oct, 2013 1 commit
  32. 14 May, 2013 1 commit
  33. 03 Dec, 2012 1 commit
  34. 13 Aug, 2012 1 commit
    • 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