summaryrefslogtreecommitdiffstats
path: root/Modules/CPackNuGet.cmake
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'more-misc-typos'Brad King2018-06-051-4/+4
|\ | | | | | | | | | | | | | | be28106880 Fix misc. typos Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alex Turbov <i.zaufi@gmail.com> Merge-request: !2130
| * Fix misc. typosluz.paz2018-06-041-4/+4
| | | | | | | | Found via `codespell` and `grep`
* | Help: Fix indentation for `CPACK_NUGET_PACKAGE_AUTHORS`Alex Turbov2018-06-051-2/+2
|/
* CPack: Add NuGet supportAlex Turbov2018-05-111-0/+556
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.