| CPack NuGet Generator |
| --------------------- |
| |
| When build a NuGet package there is no direct way to control an output |
| filename due a lack of the corresponding CLI option of NuGet, so there |
| is no ``CPACK_NUGET_PACKAGE_FILENAME`` variable. To form the output filename |
| NuGet uses the package name and the version according to its built-in rules. |
| |
| Also, be aware that including a top level directory |
| (``CPACK_INCLUDE_TOPLEVEL_DIRECTORY``) is ignored by this generator. |
| |
| |
| Variables specific to CPack NuGet generator |
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| |
| The CPack NuGet generator may be used to create NuGet packages using |
| :module:`CPack`. The CPack NuGet generator is a :module:`CPack` generator thus |
| it uses the ``CPACK_XXX`` variables used by :module:`CPack`. |
| |
| The CPack NuGet generator has specific features which are controlled by the |
| specifics ``CPACK_NUGET_XXX`` variables. In the "one per group" mode |
| (see :variable:`CPACK_COMPONENTS_GROUPING`), ``<compName>`` placeholder |
| in the variables below would contain a group name (uppercased and turned into |
| a "C" identifier). |
| |
| List of CPack NuGet generator specific variables: |
| |
| .. variable:: CPACK_NUGET_COMPONENT_INSTALL |
| |
| Enable component packaging for CPack NuGet generator |
| |
| * Mandatory : NO |
| * Default : OFF |
| |
| .. variable:: CPACK_NUGET_PACKAGE_NAME |
| CPACK_NUGET_<compName>_PACKAGE_NAME |
| |
| The NUGET package name. |
| |
| * Mandatory : YES |
| * Default : :variable:`CPACK_PACKAGE_NAME` |
| |
| .. variable:: CPACK_NUGET_PACKAGE_VERSION |
| CPACK_NUGET_<compName>_PACKAGE_VERSION |
| |
| The NuGet package version. |
| |
| * Mandatory : YES |
| * Default : :variable:`CPACK_PACKAGE_VERSION` |
| |
| .. variable:: CPACK_NUGET_PACKAGE_DESCRIPTION |
| CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION |
| |
| A long description of the package for UI display. |
| |
| * Mandatory : YES |
| * Default : |
| - :variable:`CPACK_COMPONENT_<compName>_DESCRIPTION`, |
| - ``CPACK_COMPONENT_GROUP_<groupName>_DESCRIPTION``, |
| - :variable:`CPACK_PACKAGE_DESCRIPTION` |
| |
| .. variable:: CPACK_NUGET_PACKAGE_AUTHORS |
| CPACK_NUGET_<compName>_PACKAGE_AUTHORS |
| |
| A comma-separated list of packages authors, matching the profile names |
| on nuget.org_. These are displayed in the NuGet Gallery on |
| nuget.org_ and are used to cross-reference packages by the same |
| authors. |
| |
| * Mandatory : YES |
| * Default : :variable:`CPACK_PACKAGE_VENDOR` |
| |
| .. variable:: CPACK_NUGET_PACKAGE_TITLE |
| CPACK_NUGET_<compName>_PACKAGE_TITLE |
| |
| A human-friendly title of the package, typically used in UI displays |
| as on nuget.org_ and the Package Manager in Visual Studio. If not |
| specified, the package ID is used. |
| |
| * Mandatory : NO |
| * Default : |
| - :variable:`CPACK_COMPONENT_<compName>_DISPLAY_NAME`, |
| - ``CPACK_COMPONENT_GROUP_<groupName>_DISPLAY_NAME`` |
| |
| .. variable:: CPACK_NUGET_PACKAGE_OWNERS |
| CPACK_NUGET_<compName>_PACKAGE_OWNERS |
| |
| A comma-separated list of the package creators using profile names |
| on nuget.org_. This is often the same list as in authors, |
| and is ignored when uploading the package to nuget.org_. |
| |
| * Mandatory : NO |
| * Default : - |
| |
| .. variable:: CPACK_NUGET_PACKAGE_HOMEPAGE_URL |
| CPACK_NUGET_<compName>_PACKAGE_HOMEPAGE_URL |
| |
| A URL for the package's home page, often shown in UI displays as well |
| as nuget.org_. |
| |
| * Mandatory : NO |
| * Default : :variable:`CPACK_PACKAGE_HOMEPAGE_URL` |
| |
| .. variable:: CPACK_NUGET_PACKAGE_LICENSEURL |
| CPACK_NUGET_<compName>_PACKAGE_LICENSEURL |
| |
| A URL for the package's license, often shown in UI displays as well |
| as nuget.org_. |
| |
| * Mandatory : NO |
| * Default : - |
| |
| .. variable:: CPACK_NUGET_PACKAGE_ICONURL |
| CPACK_NUGET_<compName>_PACKAGE_ICONURL |
| |
| A URL for a 64x64 image with transparency background to use as the |
| icon for the package in UI display. |
| |
| * Mandatory : NO |
| * Default : - |
| |
| .. variable:: CPACK_NUGET_PACKAGE_DESCRIPTION_SUMMARY |
| CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION_SUMMARY |
| |
| A short description of the package for UI display. If omitted, a |
| truncated version of description is used. |
| |
| * Mandatory : NO |
| * Default : :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` |
| |
| .. variable:: CPACK_NUGET_PACKAGE_RELEASE_NOTES |
| CPACK_NUGET_<compName>_PACKAGE_RELEASE_NOTES |
| |
| A description of the changes made in this release of the package, |
| often used in UI like the Updates tab of the Visual Studio Package |
| Manager in place of the package description. |
| |
| * Mandatory : NO |
| * Default : - |
| |
| .. variable:: CPACK_NUGET_PACKAGE_COPYRIGHT |
| CPACK_NUGET_<compName>_PACKAGE_COPYRIGHT |
| |
| Copyright details for the package. |
| |
| * Mandatory : NO |
| * Default : - |
| |
| .. variable:: CPACK_NUGET_PACKAGE_TAGS |
| CPACK_NUGET_<compName>_PACKAGE_TAGS |
| |
| A space-delimited list of tags and keywords that describe the |
| package and aid discoverability of packages through search and |
| filtering. |
| |
| * Mandatory : NO |
| * Default : - |
| |
| .. variable:: CPACK_NUGET_PACKAGE_DEPENDENCIES |
| CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES |
| |
| A list of package dependencies. |
| |
| * Mandatory : NO |
| * Default : - |
| |
| .. variable:: CPACK_NUGET_PACKAGE_DEPENDENCIES_<dependency>_VERSION |
| CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES_<dependency>_VERSION |
| |
| A `version specification`_ for the particular dependency, where |
| ``<dependency>`` is an item of the dependency list (see above) |
| transformed with ``MAKE_C_IDENTIFIER`` function of :command:`string` |
| command. |
| |
| * Mandatory : NO |
| * Default : - |
| |
| .. variable:: CPACK_NUGET_PACKAGE_DEBUG |
| |
| Enable debug messages while executing CPack NuGet generator. |
| |
| * Mandatory : NO |
| * Default : OFF |
| |
| |
| .. _nuget.org: http://nuget.org |
| .. _version specification: https://docs.microsoft.com/en-us/nuget/reference/package-versioning#version-ranges-and-wildcards |
| |
| .. NuGet spec docs https://docs.microsoft.com/en-us/nuget/reference/nuspec |