1. 09 Jul, 2019 1 commit
    • Alex Turbov's avatar
      Refactor: Move CPack internal files to `Internal/CPack/` directory · 98617f1b
      Alex Turbov authored
      Some commits ago all CPack internal `*.cmake` files have been moved
      to `Internal/CPack/`. This commit also move some templates
      internally used by generators to the same location to make
      `Modules/` directory less noisy w/ files the end users don't
      need to use/see.
      98617f1b
  2. 11 May, 2018 1 commit
    • Alex Turbov's avatar
      CPack: Add NuGet support · f739752a
      Alex Turbov authored
      Create a CPack generator that uses `nuget.exe` to create packages:
      
          https://docs.microsoft.com/en-us/nuget/what-is-nuget
      
      NuGet packages could be easily produced from a `*.nuspec` file (running
      `nuget pack` in the directory w/ the spec file).  The spec filename does
      not affect the result `*.nupkg` name -- only `id` and `version` elements
      of the spec are used (by NuGet).
      
      Some implementation details:
      
      * Minimize C++ code -- use CMake script do to the job. It just let the
        base class (`cmCPackGenerator`) to preinstall everything to a temp
        directory, render the spec file and run `nuget pack` in it, harvesting
        `*.nupkg` files...;
      
      * Ignore package name (and use default paths) prepared by the base class
        (only `CPACK_TEMPORARY_DIRECTORY` is important) -- final package
        filename is a responsibility of NuGet, so after generation just scan the
        temp directory for the result `*.nupkg` file(s) and update
        `packageFileNames` data-member of the generator;
      
      * The generator supports _all-in-one_ (default), _one-group-per-package_
        and _one-component-per-package_ modes.
      f739752a