code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CPack FreeBSD Generator — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="icon" href="../_static/cmake-favicon.ico"/>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="CPack Inno Setup Generator" href="innosetup.html" />
    <link rel="prev" title="CPack External Generator" href="external.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cpack-generators(7) »

CPack FreeBSD Generator

CPack FreeBSD Generator¶

New in version 3.10.

The built in (binary) CPack FreeBSD (pkg) generator (Unix only)

Variables affecting the CPack FreeBSD (pkg) generator¶

New in version 3.18: CPACK_ARCHIVE_THREADS

Variables specific to CPack FreeBSD (pkg) generator¶

The CPack FreeBSD generator may be used to create pkg(8) packages -- these may
be used on FreeBSD, DragonflyBSD, NetBSD, OpenBSD, but also on Linux or OSX,
depending on the installed package-management tools -- using CPack.

The CPack FreeBSD generator is a CPack generator and uses the
CPACK_XXX variables used by CPack. It tries to reuse packaging
information that may already be specified for Debian packages for the
CPack DEB Generator. It also tries to reuse RPM packaging
information when Debian does not specify.

The CPack FreeBSD generator should work on any host with libpkg installed. The
packages it produces are specific to the host architecture and ABI.

The CPack FreeBSD generator sets package-metadata through
CPACK_FREEBSD_XXX variables. The CPack FreeBSD generator, unlike the
CPack Deb generator, does not specially support componentized packages; a
single package is created from all the software artifacts created through
CMake.

All of the variables can be set specifically for FreeBSD packaging in
the CPackConfig file or in CMakeLists.txt, but most of them have defaults
that use general settings (e.g. CMAKE_PROJECT_NAME) or Debian-specific
variables when those make sense (e.g. the homepage of an upstream project
is usually unchanged by the flavor of packaging). When there is no Debian
information to fall back on, but the RPM packaging has it, fall back to
the RPM information (e.g. package license).

CPACK_FREEBSD_PACKAGE_NAME¶

Sets the package name (in the package manifest, but also affects the
output filename).

Mandatory:

Yes

Default:

CPACK_PACKAGE_NAME (this is always set by CPack itself,
based on CMAKE_PROJECT_NAME).

CPACK_FREEBSD_PACKAGE_COMMENT¶

Sets the package comment. This is the short description displayed by
pkg(8) in standard "pkg info" output.

Mandatory:

Yes

Default:

CPACK_PACKAGE_DESCRIPTION_SUMMARY (this is always set
by CPack itself, if nothing else sets it explicitly).

CPACK_FREEBSD_PACKAGE_DESCRIPTION¶

Sets the package description. This is the long description of the package,
given by "pkg info" with a specific package as argument.

Mandatory:

Yes

Default:

CPACK_DEBIAN_PACKAGE_DESCRIPTION (this may be set already
for Debian packaging, so it is used as a fallback).

CPACK_PACKAGE_DESCRIPTION_SUMMARY (this is always set
by CPack itself, if nothing else sets it explicitly).

PROJECT_DESCRIPTION (this can be set with the DESCRIPTION
parameter for project()).

CPACK_FREEBSD_PACKAGE_WWW¶

The URL of the web site for this package, preferably (when applicable) the
site from which the original source can be obtained and any additional
upstream documentation or information may be found.

Mandatory:

Yes

Default:

CPACK_PACKAGE_HOMEPAGE_URL, or if that is not set,

CPACK_DEBIAN_PACKAGE_HOMEPAGE (this may be set already
for Debian packaging, so it is used as a fallback).

New in version 3.12: The CPACK_PACKAGE_HOMEPAGE_URL variable.

CPACK_FREEBSD_PACKAGE_LICENSE¶

The license, or licenses, which apply to this software package. This must
be one or more license-identifiers that pkg recognizes as acceptable license
identifiers (e.g. "GPLv2").

Mandatory:

Yes

Default:

CPACK_RPM_PACKAGE_LICENSE

CPACK_FREEBSD_PACKAGE_LICENSE_LOGIC¶

This variable is only of importance if there is more than one license.
The default is "single", which is only applicable to a single license.
Other acceptable values are determined by pkg -- those are "dual" or "multi" --
meaning choice (OR) or simultaneous (AND) application of the licenses.

Mandatory:

No

Default:

single

CPACK_FREEBSD_PACKAGE_MAINTAINER¶

The FreeBSD maintainer (e.g. kde@freebsd.org) of this package.

Mandatory:

Yes

Default:

none

CPACK_FREEBSD_PACKAGE_ORIGIN¶

The origin (ports label) of this package; for packages built by CPack
outside of the ports system this is of less importance. The default
puts the package somewhere under misc/, as a stopgap.

Mandatory:

Yes

Default:

misc/<package name>

CPACK_FREEBSD_PACKAGE_CATEGORIES¶

The ports categories where this package lives (if it were to be built
from ports). If none is set a single category is determined based on
the package origin.

Mandatory:

Yes

Default:

derived from ORIGIN

CPACK_FREEBSD_PACKAGE_DEPS¶

A list of package origins that should be added as package dependencies.
These are in the form <category>/<packagename>, e.g. x11/libkonq.
No version information needs to be provided (this is not included
in the manifest).

Mandatory:

No

Default:

empty

Table of Contents

CPack FreeBSD Generator

Variables affecting the CPack FreeBSD (pkg) generator

Variables specific to CPack FreeBSD (pkg) generator

Previous topic

CPack External Generator

Next topic

CPack Inno Setup Generator

This Page

Show Source

Quick search

    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cpack-generators(7) »

CPack FreeBSD Generator

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CPack IFW Generator — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="icon" href="../_static/cmake-favicon.ico"/>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="CPack NSIS Generator" href="nsis.html" />
    <link rel="prev" title="CPack Inno Setup Generator" href="innosetup.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cpack-generators(7) »

CPack IFW Generator

CPack IFW Generator¶

New in version 3.1.

Configure and run the Qt Installer Framework to generate a Qt installer.

Contents

CPack IFW Generator

Overview

Variables

Debug

Package

Components

QtIFW Tools

Hints for Finding QtIFW

Other Settings

Online installer

Internationalization

See Also

Overview¶

This cpack generator generates
configuration and meta information for the Qt Installer Framework (QtIFW),
and runs QtIFW tools to generate a Qt installer.

QtIFW provides tools and utilities to create installers for
the platforms supported by Qt: Linux,
Microsoft Windows, and macOS.

To make use of this generator, QtIFW needs to be installed.
The CPackIFW module looks for the location of the
QtIFW command-line utilities, and defines several commands to
control the behavior of this generator. See Hints for Finding QtIFW.

Variables¶

You can use the following variables to change the behavior of the CPack IFW
generator.

Debug¶

CPACK_IFW_VERBOSE¶

New in version 3.3.

Set to ON to enable addition debug output.
By default is OFF.

Package¶

CPACK_IFW_PACKAGE_TITLE¶

Name of the installer as displayed on the title bar.
If not specified, it defaults to CPACK_PACKAGE_DESCRIPTION_SUMMARY.

CPACK_IFW_PACKAGE_PUBLISHER¶

Publisher of the software (as shown in the Windows Control Panel).
If not specified, it defaults to CPACK_PACKAGE_VENDOR.

CPACK_IFW_PRODUCT_URL¶

URL to a page that contains product information on your web site.

CPACK_IFW_PACKAGE_ICON¶

Filename for a custom installer icon. It must be an absolute path.
This should be a .icns file on macOS and a .ico file on Windows.
It is ignored on other platforms.

CPACK_IFW_PACKAGE_WINDOW_ICON¶

Filename for a custom window icon in PNG format for the Installer
application. It must be an absolute path.

CPACK_IFW_PACKAGE_LOGO¶

Filename for a logo image in PNG format, used as QWizard::LogoPixmap.
It must be an absolute path.

CPACK_IFW_PACKAGE_WATERMARK¶

New in version 3.8.

Filename for a watermark image in PNG format, used as
QWizard::WatermarkPixmap. It must be an absolute path.

CPACK_IFW_PACKAGE_BANNER¶

New in version 3.8.

Filename for a banner image in PNG format, used as QWizard::BannerPixmap.
It must be an absolute path.

CPACK_IFW_PACKAGE_BACKGROUND¶

New in version 3.8.

Filename for a background image in PNG format, used as
QWizard::BackgroundPixmap (only used by MacStyle). It must be an
absolute path.

CPACK_IFW_PACKAGE_WIZARD_STYLE¶

New in version 3.8.

Wizard style to be used (Modern, Mac, Aero or Classic).

CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH¶

New in version 3.8.

Default width of the wizard in pixels. Setting a banner image will override
this.

CPACK_IFW_PACKAGE_WIZARD_DEFAULT_HEIGHT¶

New in version 3.8.

Default height of the wizard in pixels. Setting a watermark image will
override this.

CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST¶

New in version 3.20.

Set to OFF if the widget listing installer pages on the left side of the
wizard should not be shown.

It is ON by default, but will only have an effect if using QtIFW 4.0 or
later.

CPACK_IFW_PACKAGE_TITLE_COLOR¶

New in version 3.8.

Color of the titles and subtitles (takes an HTML color code, such as
#88FF33).

CPACK_IFW_PACKAGE_STYLE_SHEET¶

New in version 3.15.

Filename for a stylesheet. It must be an absolute path.

CPACK_IFW_TARGET_DIRECTORY¶

Default target directory for installation.
If CPACK_PACKAGE_INSTALL_DIRECTORY is set, this defaults to
@ApplicationsDir@/${CPACK_PACKAGE_INSTALL_DIRECTORY}. If that variable
isn't set either, the default used is @RootDir@/usr/local.
Predefined variables of the form @...@ are expanded by the
QtIFW scripting engine.

CPACK_IFW_ADMIN_TARGET_DIRECTORY¶

Default target directory for installation with administrator rights.

You can use predefined variables.

CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR¶

New in version 3.11.

Set to OFF if the target directory should not be deleted when uninstalling.

Is ON by default

CPACK_IFW_PACKAGE_GROUP¶

The group, which will be used to configure the root package.

CPACK_IFW_PACKAGE_NAME¶

The root package name, which will be used if the configuration group is not
specified.

CPACK_IFW_PACKAGE_START_MENU_DIRECTORY¶

New in version 3.3.

Name of the default program group for the product in the Windows Start menu.
If not specified, it defaults to CPACK_IFW_PACKAGE_NAME.

CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME¶

New in version 3.3.

Filename of the generated maintenance tool.
The platform-specific executable file extension will be appended.

If not specified, QtIFW provides a default name (maintenancetool).

CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE¶

New in version 3.3.

Filename for the configuration of the generated maintenance tool.

If not specified, QtIFW uses a default file name (maintenancetool.ini).

CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS¶

New in version 3.3.

Set to ON if the installation path can contain non-ASCII characters.
Only supported for QtIFW 2.0 and later. Older QtIFW versions will always
allow non-ASCII characters.

CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH¶

New in version 3.3.

Set to OFF if the installation path cannot contain space characters.

Is ON for QtIFW less 2.0 tools.

CPACK_IFW_PACKAGE_DISABLE_COMMAND_LINE_INTERFACE¶

New in version 3.23.

Set to ON if command line interface features should be disabled.
It is OFF by default and will only have an effect if using QtIFW 4.0 or
later.

CPACK_IFW_PACKAGE_CONTROL_SCRIPT¶

New in version 3.3.

Filename for a custom installer control script.

CPACK_IFW_PACKAGE_RESOURCES¶

New in version 3.7.

List of additional resources (.qrc files) to include in the installer
binary. They should be specified as absolute paths and no two resource files
can have the same file name.

You can use the cpack_ifw_add_package_resources() command to resolve
relative paths.

CPACK_IFW_PACKAGE_FILE_EXTENSION¶

New in version 3.10.

The target binary extension.

On Linux, the name of the target binary is automatically extended with
.run, if you do not specify the extension.

On Windows, the target is created as an application with the extension
.exe, which is automatically added, if not supplied.

On Mac, the target is created as an DMG disk image with the extension
.dmg, which is automatically added, if not supplied.

CPACK_IFW_REPOSITORIES_ALL¶

The list of remote repositories.

The default value of this variable is computed by CPack and contains
all repositories added with cpack_ifw_add_repository()
or updated with cpack_ifw_update_repository().

CPACK_IFW_DOWNLOAD_ALL¶

If this is ON, all components will be downloaded. If not set, the
behavior is determined by whether cpack_configure_downloads() has
been called with the ALL option or not.

CPACK_IFW_PACKAGE_PRODUCT_IMAGES¶

New in version 3.23.

A list of images to be shown on the PerformInstallationPage. These
must be absolute paths and the images must be in PNG format.

This feature is available for QtIFW 4.0.0 and later.

CPACK_IFW_PACKAGE_RUN_PROGRAM¶

New in version 3.23.

Command executed after the installer is finished, if the user accepts the
action. Provide the full path to the application, as found when installed.
This typically means the path should begin with the QtIFW predefined variable
@TargetDir@.

This feature is available for QtIFW 4.0.0 and later.

CPACK_IFW_PACKAGE_RUN_PROGRAM_ARGUMENTS¶

New in version 3.23.

List of arguments passed to the program specified in
CPACK_IFW_PACKAGE_RUN_PROGRAM.

This feature is available for QtIFW 4.0.0 and later.

CPACK_IFW_PACKAGE_RUN_PROGRAM_DESCRIPTION¶

New in version 3.23.

Text shown next to the check box for running the program after the
installation. If CPACK_IFW_PACKAGE_RUN_PROGRAM is set but no
description is provided, QtIFW will use a default message like
Run <Name> now.

This feature is available for QtIFW 4.0.0 and later.

CPACK_IFW_PACKAGE_SIGNING_IDENTITY¶

New in version 3.23.

Allows specifying a code signing identity to be used for signing the generated
app bundle. Only available on macOS, ignored on other platforms.

CPACK_IFW_ARCHIVE_FORMAT¶

New in version 3.23.

Set the format used when packaging new component data archives. If you omit
this option, the 7z format will be used as a default. Supported formats:

7z

zip

tar.gz

tar.bz2

tar.xz

Note

If the Qt Installer Framework tools were built without libarchive support,
only 7z format is supported.

This feature is available for QtIFW 4.2.0 and later.

CPACK_IFW_ARCHIVE_COMPRESSION¶

New in version 3.23.

Archive compression level. The allowable values are:

0 (No compression)

1 (Fastest compression)

3 (Fast compression)

5 (Normal compression)

7 (Maximum compression)

9 (Ultra compression)

If this variable is not set, QtIFW will use a default compression level,
which will typically be 5 (Normal compression).

Note

Some formats do not support all the possible values. For example zip
compression only supports values from 1 to 7.

This feature is available for QtIFW 4.2.0 and later.

Components¶

CPACK_IFW_RESOLVE_DUPLICATE_NAMES¶

Resolve duplicate names when installing components with groups.

CPACK_IFW_PACKAGES_DIRECTORIES¶

Additional prepared packages directories that will be used to resolve
dependent components.

CPACK_IFW_REPOSITORIES_DIRECTORIES¶

New in version 3.10.

Additional prepared repository directories that will be used to resolve and
repack dependent components.

This feature is available for QtIFW 3.1 and later.

QtIFW Tools¶

CPACK_IFW_FRAMEWORK_VERSION¶

New in version 3.3.

The version of the QtIFW tools that will be used. This variable is set
by the CPackIFW module.

The following variables provide the locations of the QtIFW
command-line tools as discovered by the CPackIFW module.
These variables are cached, and may be configured if needed.

CPACK_IFW_ARCHIVEGEN_EXECUTABLE¶

New in version 3.19.

The path to archivegen.

CPACK_IFW_BINARYCREATOR_EXECUTABLE¶

The path to binarycreator.

CPACK_IFW_REPOGEN_EXECUTABLE¶

The path to repogen.

CPACK_IFW_INSTALLERBASE_EXECUTABLE¶

The path to installerbase.

CPACK_IFW_DEVTOOL_EXECUTABLE¶

The path to devtool.

Hints for Finding QtIFW¶

Generally, the CPack IFW generator automatically finds QtIFW tools.
The following (in order of precedence) can also be set to augment the
locations normally searched by find_program():

CPACK_IFW_ROOT¶

New in version 3.9.

CMake variable

CPACK_IFW_ROOT¶

New in version 3.9.

Environment variable

QTIFWDIR¶

CMake variable

QTIFWDIR¶

Environment variable

Note

The specified path should not contain bin at the end
(for example: D:\\DevTools\\QtIFW2.0.5).

Other Settings¶

Online installer¶

By default, this generator generates an offline installer. This means
that all packaged files are fully contained in the installer executable.

In contrast, an online installer will download some or all components from
a remote server.

The DOWNLOADED option in the cpack_add_component() command
specifies that a component is to be downloaded. Alternatively, the ALL
option in the cpack_configure_downloads() command specifies that
all components are to be be downloaded.

The cpack_ifw_add_repository() command and the
CPACK_IFW_DOWNLOAD_ALL variable allow for more specific
configuration.

When there are online components, CPack will write them to archive files.
The help page of the CPackComponent module, especially the section
on the cpack_configure_downloads() function, explains how to make
these files accessible from a download URL.

Internationalization¶

New in version 3.9.

Some variables and command arguments support internationalization via
CMake script. This is an optional feature.

Installers created by QtIFW tools have built-in support for
internationalization and many phrases are localized to many languages,
but this does not apply to the description of your components and groups.

Localization of the description of your components and groups is useful for
users of your installers.

A localized variable or argument can contain a single default value, and
after that a set of pairs with the name of the locale and the localized value.

For example:

set(LOCALIZABLE_VARIABLE "Default value"
  en "English value"
  en_US "American value"
  en_GB "Great Britain value"
  )

See Also¶

Qt Installer Framework Manual:

Index page:
https://doc.qt.io/qtinstallerframework/index.html

Component Scripting:
https://doc.qt.io/qtinstallerframework/scripting.html

Predefined Variables:
https://doc.qt.io/qtinstallerframework/scripting.html#predefined-variables

Promoting Updates:
https://doc.qt.io/qtinstallerframework/ifw-updates.html

Download Qt Installer Framework for your platform from Qt site:

https://download.qt.io/official_releases/qt-installer-framework

Table of Contents

CPack IFW Generator

Overview

Variables

Debug

Package

Components

QtIFW Tools

Hints for Finding QtIFW

Other Settings

Online installer

Internationalization

See Also

Previous topic

CPack Inno Setup Generator

Next topic

CPack NSIS Generator

This Page

Show Source

Quick search

    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cpack-generators(7) »

CPack IFW Generator

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.

repo_name: lazytadpole/codenamesilverfish

license: mit


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CPack Inno Setup Generator — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="icon" href="../_static/cmake-favicon.ico"/>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="CPack IFW Generator" href="ifw.html" />
    <link rel="prev" title="CPack FreeBSD Generator" href="freebsd.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cpack-generators(7) »

CPack Inno Setup Generator

CPack Inno Setup Generator¶

New in version 3.27.

Inno Setup is a free installer for Windows programs by Jordan Russell and
Martijn Laan (https://jrsoftware.org/isinfo.php).

This documentation explains Inno Setup generator specific options.

The generator provides a lot of options like components. Unfortunately, not
all features (e.g. component dependencies) are currently supported by
Inno Setup and they're ignored by the generator for now.

CPack requires Inno Setup 6 or greater and only works on Windows.

Variables specific to CPack Inno Setup generator¶

You can use the following variables to change the behavior of the CPack
INNOSETUP generator:

General¶

None of the following variables is required to be set for the Inno Setup
generator to work. If a variable is marked as mandatory below but not set,
its default value is taken.

The variables can also contain Inno Setup constants like {app}. Please
refer to the documentation of Inno Setup for more information.

If you're asked to provide the path to any file, you can always give an
absolute path or in most cases the relative path from the top-level directory
where all files being installed by an install() instruction reside.

CPack tries to escape quotes and other special characters for you. However,
using special characters could cause problems.

The following variable simplifies the usage of Inno Setup in CMake:

CPACK_INNOSETUP_USE_CMAKE_BOOL_FORMAT¶

Inno Setup only uses yes or no as boolean formats meanwhile CMake
uses a lot of alternative formats like ON or OFF. Having this option
turned on enables an automatic conversion.

Consider the following example:

set(CMAKE_INNOSETUP_SETUP_AllowNoIcons OFF)

If this option is turned on, the following line will be created in the output
script: AllowNoIcons=no.
Else, the following erroneous line will be created: AllowNoIcons=OFF

The conversion is enabled in every Inno Setup specific variable.

Mandatory:

Yes

Default:

ON

Setup Specific Variables¶

CPACK_INNOSETUP_ARCHITECTURE¶

One of x86, x64, arm64 or ia64. This variable specifies the
target architecture of the installer. This also affects the Program Files
folder or registry keys being used.

CPack tries to determine the correct value with a try compile (see
CMAKE_SIZEOF_VOID_P), but this option can be manually specified
too (especially when using ia64 or cross-platform compilation).

Mandatory:

Yes

Default:

Either x86 or x64 depending on the results of the try-compile

CPACK_INNOSETUP_INSTALL_ROOT¶

If you don't want the installer to create the installation directory under
Program Files, you've to specify the installation root here.

The full directory of the installation will be:
${CPACK_INNOSETUP_INSTALL_ROOT}/${CPACK_PACKAGE_INSTALL_DIRECTORY}.

Mandatory:

Yes

Default:

{autopf}

CPACK_INNOSETUP_ALLOW_CUSTOM_DIRECTORY¶

If turned on, the installer allows the user to change the installation
directory providing an extra wizard page.

Mandatory:

Yes

Default:

ON

CPACK_INNOSETUP_PROGRAM_MENU_FOLDER¶

The initial name of the start menu folder being created.

If this variable is set to ., then no separate folder is created,
application shortcuts will appear in the top-level start menu folder.

Mandatory:

Yes

Default:

The value of CPACK_PACKAGE_NAME

CPACK_INNOSETUP_LANGUAGES¶

A semicolon-separated list of languages you want
Inno Setup to include.

Currently available: armenian, brazilianPortuguese, bulgarian,
catalan, corsican, czech, danish, dutch, english,
finnish, french, german, hebrew, icelandic, italian,
japanese, norwegian, polish, portuguese, russian,
slovak, slovenian, spanish, turkish and ukrainian.
This list might differ depending on the version of Inno Setup.

Mandatory:

Yes

Default:

english

CPACK_INNOSETUP_IGNORE_LICENSE_PAGE¶

If you don't specify a license file using
CPACK_RESOURCE_FILE_LICENSE, CPack uses a file for demonstration
purposes. If you want the installer to ignore license files at all, you can
enable this option.

Mandatory:

Yes

Default:

OFF

CPACK_INNOSETUP_IGNORE_README_PAGE¶

If you don't specify a readme file using
CPACK_RESOURCE_FILE_README, CPack uses a file for demonstration
purposes. If you want the installer to ignore readme files at all, you can
enable this option. Make sure the option is disabled when using
a custom readme file.

Mandatory:

Yes

Default:

ON

CPACK_INNOSETUP_PASSWORD¶

Enables password protection and file encryption with the given password.

Mandatory:

No

CPACK_INNOSETUP_USE_MODERN_WIZARD¶

Enables the modern look and feel provided by Inno Setup. If this option is
turned off, the classic style is used instead. Images and icon files are
also affected.

Mandatory:

Yes

Default:

OFF because of compatibility reasons

CPACK_INNOSETUP_ICON_FILE¶

The path to a custom installer .ico file.

Use CPACK_PACKAGE_ICON to customize the bitmap file being shown
in the wizard.

Mandatory:

No

CPACK_INNOSETUP_SETUP_<directive><a class="headerlink" href="#variable:CPACK_INNOSETUP_SETUP_<directive>" title="Permalink to this definition">¶

This group allows adapting any of the [Setup] section directives provided
by Inno Setup where directive is its name.

Here are some examples:

set(CPACK_INNOSETUP_SETUP_WizardSmallImageFile "my_bitmap.bmp")
set(CPACK_INNOSETUP_SETUP_AllowNoIcons OFF) # This requires CPACK_INNOSETUP_USE_CMAKE_BOOL_FORMAT to be on

All of these variables have higher priority than the others.
Consider the following example:

set(CPACK_INNOSETUP_SETUP_Password "admin")
set(CPACK_INNOSETUP_PASSWORD "secret")

The password will be admin at the end because CPACK_INNOSETUP_PASSWORD
has less priority than CPACK_INNOSETUP_SETUP_Password.

Mandatory:

No

File Specific Variables¶

Although all files being installed by an install() instruction are
automatically processed and added to the installer, there are some variables
to customize the installation process.

Before using executables (only .exe or .com) in shortcuts
(e.g. CPACK_CREATE_DESKTOP_LINKS) or [Run] entries, you've to
add the raw file name (without path and extension) to
CPACK_PACKAGE_EXECUTABLES and create a start menu shortcut
for them.

If you have two files with the same raw name (e.g. a/executable.exe and
b/executable.com), an entry in the section is created twice. This will
result in undefined behavior and is not recommended.

CPACK_INNOSETUP_CUSTOM_INSTALL_INSTRUCTIONS¶

This variable should contain a
semicolon-separated list of pairs path,
instruction and can be used to customize the install command being
automatically created for each file or directory.

CPack creates the following Inno Setup instruction for every file...

Source: "absolute\path\to\my_file.txt"; DestDir: "{app}"; Flags: ignoreversion

...and the following line for every directory:

Name: "{app}\my_folder"

You might want to change the destination directory or the flags of
my_file.txt. Since we can also provide a relative path, the line you'd
like to have, is the following:

Source: "my_file.txt"; DestDir: "{userdocs}"; Flags: ignoreversion uninsneveruninstall

You would do this by using my_file.txt as path and
Source: "my_file.txt"; DestDir: "{userdocs}"; Flags: ignoreversion uninsneveruninstall
as instruction.

You've to take care of the escaping problem.
So the CMake command would be:

set(CPACK_INNOSETUP_CUSTOM_INSTALL_INSTRUCTIONS "my_file.txt;Source: \\\"my_file.txt\\\"\\; DestDir: \\\"{userdocs}\\\"\\; Flags: ignoreversion uninsneveruninstall")

To improve readability, you should go around the escaping problem by using
CPACK_VERBATIM_VARIABLES or by placing the instruction into a
separate CPack project config file.

If you customize the install instruction of a specific file, you lose the
connection to its component. To go around, manually add
Components: <component>. You also need to add its shortcuts and [Run]
entries by yourself in a custom section, since the executable won't be found
anymore by CPACK_PACKAGE_EXECUTABLES.

Here's another example (Note: You've to go around the escaping problem for
the example to work):

set(CPACK_INNOSETUP_CUSTOM_INSTALL_INSTRUCTIONS
    "component1/my_folder" "Name: \"{userdocs}\\my_folder\"\; Components: component1"
    "component2/my_folder2/my_file.txt" "Source: \"component2\\my_folder2\\my_file.txt\"\; DestDir: \"{app}\\my_folder2\\my_file.txt\"\; Flags: ignoreversion uninsneveruninstall\; Components: component2")

Mandatory:

No

CPACK_INNOSETUP_MENU_LINKS¶

This variable should contain a
semicolon-separated list of pairs link,
link name and can be used to add shortcuts into the start menu folder
beside those of the executables (see CPACK_PACKAGE_EXECUTABLES).
While link name is the label, link can be a URL or a path relative to
the installation directory.

Here's an example:

set(CPACK_INNOSETUP_MENU_LINKS
    "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html"
    "CMake Help" "https://cmake.org" "CMake Web Site")

Mandatory:

No

CPACK_INNOSETUP_CREATE_UNINSTALL_LINK¶

If this option is turned on, a shortcut to the application's uninstaller is
automatically added to the start menu folder.

Mandatory:

Yes

Default:

OFF

CPACK_INNOSETUP_RUN_EXECUTABLES¶

A semicolon-separated list of executables being
specified in CPACK_PACKAGE_EXECUTABLES which the user can run
when the installer finishes.

They're internally added to the [Run] section.

Mandatory:

No

Components Specific Variables¶

The generator supports components and also downloaded components. However,
there are some features of components that aren't supported yet (especially
component dependencies). These variables are ignored for now.

CPack will change a component's name in Inno Setup if it has a parent group
for technical reasons. Consider using group\component as component name in
Inno Setup scripts if you have the component component and its parent
group group.

Here are some additional variables for components:

CPACK_INNOSETUP_<compName>_INSTALL_DIRECTORY<a class="headerlink" href="#variable:CPACK_INNOSETUP_<compName>_INSTALL_DIRECTORY" title="Permalink to this definition">¶

If you don't want the component compName to be installed under {app},
you've to specify its installation directory here.

Mandatory:

No

CPACK_INNOSETUP_VERIFY_DOWNLOADS¶

This option only affects downloaded components.

If this option is turned on, the hashes of the downloaded archives are
calculated during compile and
download time. The installer will only proceed if they match.

Mandatory:

Yes

Default:

ON

Compilation and Scripting Specific Variables¶

CPACK_INNOSETUP_EXECUTABLE¶

The filename of the Inno Setup Script Compiler command.

Mandatory:

Yes

Default:

ISCC

CPACK_INNOSETUP_EXECUTABLE_ARGUMENTS¶

A semicolon-separated list of extra
command-line options for the Inno Setup Script Compiler command.

For example: /Qp;/Smysigntool=$p

Take care of the escaping problem.

Mandatory:

No

CPACK_INNOSETUP_DEFINE_<macro><a class="headerlink" href="#variable:CPACK_INNOSETUP_DEFINE_<macro>" title="Permalink to this definition">¶

This group allows to add custom define directives as command-line options to
the Inno Setup Preprocessor command. Each entry emulates a
#define public <macro> directive. Its macro is accessible from anywhere
(public), so it can also be used in extra script files.

Macro names must not contain any special characters. Refer to the Inno Setup
Preprocessor documentation for the detailed rules.

Consider the following example:

# The following line emulates: #define public MyMacro "Hello, World!"
set(CPACK_INNOSETUP_DEFINE_MyMacro "Hello, World!")

At this point, you can use MyMacro anywhere. For example in the following
extra script:

AppComments={#emit "'My Macro' has the value: " + MyMacro}

Take care of the escaping problem.

Mandatory:

No

CPACK_INNOSETUP_EXTRA_SCRIPTS¶

A semicolon-separated list of paths to
additional .iss script files to be processed.

They're internally included at the top of the output script file using a
#include directive.

You can add any section in your file to extend the installer (e.g. adding
additional tasks or registry keys). Prefer using
CPACK_INNOSETUP_SETUP_<directive> when extending the
[Setup] section.

Mandatory:

No

CPACK_INNOSETUP_CODE_FILES¶

A semicolon-separated list of paths to
additional Pascal files to be processed.

This variable is actually the same as
CPACK_INNOSETUP_EXTRA_SCRIPTS, except you don't have to
add [Code] at the top of your file. Never change the current section in
a code file. This will result in undefined behavior! Treat them as normal
Pascal scripts instead.

Code files are included at the very bottom of the output script.

Mandatory:

No

Table of Contents

CPack Inno Setup Generator

Variables specific to CPack Inno Setup generator

General

Setup Specific Variables

File Specific Variables

Components Specific Variables

Compilation and Scripting Specific Variables

Previous topic

CPack FreeBSD Generator

Next topic

CPack IFW Generator

This Page

Show Source

Quick search

    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cpack-generators(7) »

CPack Inno Setup Generator

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CPack NSIS Generator — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="icon" href="../_static/cmake-favicon.ico"/>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="CPack NuGet Generator" href="nuget.html" />
    <link rel="prev" title="CPack IFW Generator" href="ifw.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cpack-generators(7) »

CPack NSIS Generator

CPack NSIS Generator¶

CPack Nullsoft Scriptable Install System (NSIS) generator specific options.

Changed in version 3.22: The NSIS generator requires NSIS 3.03 or newer.

Variables specific to CPack NSIS generator¶

The following variables are specific to the graphical installers built
on Windows Nullsoft Scriptable Install System.

CPACK_NSIS_INSTALL_ROOT¶

The default installation directory presented to the end user by the NSIS
installer is under this root dir. The full directory presented to the end
user is: ${CPACK_NSIS_INSTALL_ROOT}/${CPACK_PACKAGE_INSTALL_DIRECTORY}

CPACK_NSIS_MUI_ICON¶

An icon filename.  The name of a *.ico file used as the main icon for the
generated install program.

CPACK_NSIS_MUI_UNIICON¶

An icon filename.  The name of a *.ico file used as the main icon for the
generated uninstall program.

CPACK_NSIS_INSTALLER_MUI_ICON_CODE¶

undocumented.

CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP¶

New in version 3.5.

The filename of a bitmap to use as the NSIS MUI_WELCOMEFINISHPAGE_BITMAP.

CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP¶

New in version 3.5.

The filename of a bitmap to use as the NSIS MUI_UNWELCOMEFINISHPAGE_BITMAP.

CPACK_NSIS_EXTRA_PREINSTALL_COMMANDS¶

Extra NSIS commands that will be added to the beginning of the install
Section, before your install tree is available on the target system.

CPACK_NSIS_EXTRA_INSTALL_COMMANDS¶

Extra NSIS commands that will be added to the end of the install Section,
after your install tree is available on the target system.

CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS¶

Extra NSIS commands that will be added to the uninstall Section, before
your install tree is removed from the target system.

CPACK_NSIS_COMPRESSOR¶

The arguments that will be passed to the NSIS SetCompressor command.

CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL¶

Ask about uninstalling previous versions first.  If this is set to ON,
then an installer will look for previous installed versions and if one is
found, ask the user whether to uninstall it before proceeding with the
install.

CPACK_NSIS_MODIFY_PATH¶

Modify PATH toggle.  If this is set to ON, then an extra page will appear
in the installer that will allow the user to choose whether the program
directory should be added to the system PATH variable.

CPACK_NSIS_DISPLAY_NAME¶

The display name string that appears in the Windows Apps & features
in Control Panel

CPACK_NSIS_PACKAGE_NAME¶

The title displayed at the top of the installer.

CPACK_NSIS_INSTALLED_ICON_NAME¶

A path to the executable that contains the installer icon.

CPACK_NSIS_HELP_LINK¶

URL to a web site providing assistance in installing your application.

CPACK_NSIS_URL_INFO_ABOUT¶

URL to a web site providing more information about your application.

CPACK_NSIS_CONTACT¶

Contact information for questions and comments about the installation
process.

CPACK_NSIS_<compName>_INSTALL_DIRECTORY<a class="headerlink" href="#variable:CPACK_NSIS_<compName>_INSTALL_DIRECTORY" title="Permalink to this definition">¶

New in version 3.7.

Custom install directory for the specified component <compName> instead
of $INSTDIR.

CPACK_NSIS_CREATE_ICONS_EXTRA¶

Additional NSIS commands for creating Start Menu shortcuts.

CPACK_NSIS_DELETE_ICONS_EXTRA¶

Additional NSIS commands to uninstall Start Menu shortcuts.

CPACK_NSIS_EXECUTABLES_DIRECTORY¶

Creating NSIS Start Menu links assumes that they are in bin unless this
variable is set.  For example, you would set this to exec if your
executables are in an exec directory.

CPACK_NSIS_MUI_FINISHPAGE_RUN¶

Specify an executable to add an option to run on the finish page of the
NSIS installer.

CPACK_NSIS_MENU_LINKS¶

Specify links in [application] menu.  This should contain a list of pair
link link name. The link may be a URL or a path relative to
installation prefix.  Like:

set(CPACK_NSIS_MENU_LINKS
    "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html"
    "CMake Help" "https://cmake.org" "CMake Web Site")

CPACK_NSIS_UNINSTALL_NAME¶

New in version 3.17.

Specify the name of the program to uninstall the version.
Default is Uninstall.

CPACK_NSIS_WELCOME_TITLE¶

New in version 3.17.

The title to display on the top of the page for the welcome page.

CPACK_NSIS_WELCOME_TITLE_3LINES¶

New in version 3.17.

Display the title in the welcome page on 3 lines instead of 2.

CPACK_NSIS_FINISH_TITLE¶

New in version 3.17.

The title to display on the top of the page for the finish page.

CPACK_NSIS_FINISH_TITLE_3LINES¶

New in version 3.17.

Display the title in the finish page on 3 lines instead of 2.

CPACK_NSIS_MUI_HEADERIMAGE¶

New in version 3.17.

The image to display on the header of installers pages.

CPACK_NSIS_MANIFEST_DPI_AWARE¶

New in version 3.18.

If set, declares that the installer is DPI-aware.

CPACK_NSIS_BRANDING_TEXT¶

New in version 3.20.

If set, updates the text at the bottom of the install window.
To set the string to blank, use a space (" ").

CPACK_NSIS_BRANDING_TEXT_TRIM_POSITION¶

New in version 3.20.

If set, trim down the size of the control to the size of the branding text string.
Allowed values for this variable are LEFT, CENTER or RIGHT.
If not specified, the default behavior is LEFT.

CPACK_NSIS_EXECUTABLE¶

New in version 3.21.

If set, specify the name of the NSIS executable. Default is makensis.

CPACK_NSIS_IGNORE_LICENSE_PAGE¶

New in version 3.22.

If set, do not display the page containing the license during installation.

CPACK_NSIS_EXECUTABLE_PRE_ARGUMENTS¶

New in version 3.25.

This variable is a semicolon-separated list of
arguments to prepend to the nsis script to run.
If the arguments do not start with a / or a -, it will add one
automatically to the corresponding arguments.
The command that will be run is:

makensis.exe <preArgs>... "nsisFileName.nsi" <postArgs>...

where <preArgs>... is constructed from CPACK_NSIS_EXECUTABLE_PRE_ARGUMENTS
and <postArgs>...  is constructed from CPACK_NSIS_EXECUTABLE_POST_ARGUMENTS.

CPACK_NSIS_EXECUTABLE_POST_ARGUMENTS¶

New in version 3.25.

This variable is a semicolon-separated list of
arguments to append to the nsis script to run.
If the arguments do not start with a / or a -, it will add one
automatically to the corresponding arguments.
The command that will be run is:

makensis.exe <preArgs>... "nsisFileName.nsi" <postArgs>...

where <preArgs>... is constructed from CPACK_NSIS_EXECUTABLE_PRE_ARGUMENTS
and <postArgs>...  is constructed from CPACK_NSIS_EXECUTABLE_POST_ARGUMENTS.

Table of Contents

CPack NSIS Generator

Variables specific to CPack NSIS generator

Previous topic

CPack IFW Generator

Next topic

CPack NuGet Generator

This Page

Show Source

Quick search

    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cpack-generators(7) »

CPack NSIS Generator

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CPack NuGet Generator — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="icon" href="../_static/cmake-favicon.ico"/>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="CPack PackageMaker Generator" href="packagemaker.html" />
    <link rel="prev" title="CPack NSIS Generator" href="nsis.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cpack-generators(7) »

CPack NuGet Generator

CPack NuGet Generator¶

New in version 3.12.

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_FILE_NAME 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
CPack. The CPack NuGet generator is a CPack generator thus
it uses the CPACK_XXX variables used by 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 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:

CPACK_NUGET_COMPONENT_INSTALL¶

Enable component packaging for CPack NuGet generator

Mandatory:

No

Default:

OFF

CPACK_NUGET_PACKAGE_NAME¶

CPACK_NUGET_<compName>_PACKAGE_NAME<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_NAME" title="Permalink to this definition">¶

The NUGET package name. CPACK_NUGET_PACKAGE_NAME is used as the
package id on nuget.org

Mandatory:

Yes

Default:

CPACK_PACKAGE_NAME

CPACK_NUGET_PACKAGE_VERSION¶

CPACK_NUGET_<compName>_PACKAGE_VERSION<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_VERSION" title="Permalink to this definition">¶

The NuGet package version.

Mandatory:

Yes

Default:

CPACK_PACKAGE_VERSION

CPACK_NUGET_PACKAGE_DESCRIPTION¶

CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION" title="Permalink to this definition">¶

A long description of the package for UI display.

Mandatory:

Yes

Default:

CPACK_COMPONENT_<compName>_DESCRIPTION,

CPACK_COMPONENT_GROUP_<groupName>_DESCRIPTION,

CPACK_PACKAGE_DESCRIPTION

CPACK_NUGET_PACKAGE_AUTHORS¶

CPACK_NUGET_<compName>_PACKAGE_AUTHORS<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_AUTHORS" title="Permalink to this definition">¶

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:

CPACK_PACKAGE_VENDOR

CPACK_NUGET_PACKAGE_TITLE¶

CPACK_NUGET_<compName>_PACKAGE_TITLE<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_TITLE" title="Permalink to this definition">¶

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:

CPACK_COMPONENT_<compName>_DISPLAY_NAME,

CPACK_COMPONENT_GROUP_<groupName>_DISPLAY_NAME

CPACK_NUGET_PACKAGE_OWNERS¶

CPACK_NUGET_<compName>_PACKAGE_OWNERS<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_OWNERS" title="Permalink to this definition">¶

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:

None

CPACK_NUGET_PACKAGE_HOMEPAGE_URL¶

CPACK_NUGET_<compName>_PACKAGE_HOMEPAGE_URL<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_HOMEPAGE_URL" title="Permalink to this definition">¶

An URL for the package's home page, often shown in UI displays as well
as nuget.org.

Mandatory:

No

Default:

CPACK_PACKAGE_HOMEPAGE_URL

CPACK_NUGET_PACKAGE_LICENSEURL¶

CPACK_NUGET_<compName>_PACKAGE_LICENSEURL<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_LICENSEURL" title="Permalink to this definition">¶

Deprecated since version 3.20: Use a local license file
(CPACK_NUGET_PACKAGE_LICENSE_FILE_NAME)
or a SPDX license identifier
(CPACK_NUGET_PACKAGE_LICENSE_EXPRESSION) instead.

An URL for the package's license, often shown in UI displays as well
as on nuget.org.

Mandatory:

No

Default:

None

CPACK_NUGET_PACKAGE_LICENSE_EXPRESSION¶

CPACK_NUGET_<compName>_PACKAGE_LICENSE_EXPRESSION<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_LICENSE_EXPRESSION" title="Permalink to this definition">¶

New in version 3.20.

A Software Package Data Exchange SPDX license identifier such as
MIT, BSD-3-Clause, or LGPL-3.0-or-later. In the case of a
choice of licenses or more complex restrictions, compound license
expressions may be formed using boolean operators, for example
MIT OR BSD-3-Clause.  See the SPDX specification for guidance
on forming complex license expressions.

If CPACK_NUGET_PACKAGE_LICENSE_FILE_NAME is specified,
CPACK_NUGET_PACKAGE_LICENSE_EXPRESSION is ignored.

Mandatory:

No

Default:

None

CPACK_NUGET_PACKAGE_LICENSE_FILE_NAME¶

CPACK_NUGET_<compName>_PACKAGE_LICENSE_FILE_NAME<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_LICENSE_FILE_NAME" title="Permalink to this definition">¶

The package's license file in .txt or .md format.

If CPACK_NUGET_PACKAGE_LICENSE_FILE_NAME is specified,
CPACK_NUGET_PACKAGE_LICENSE_EXPRESSION is ignored.

New in version 3.20.

Mandatory:

No

Default:

None

CPACK_NUGET_PACKAGE_ICONURL¶

CPACK_NUGET_<compName>_PACKAGE_ICONURL<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_ICONURL" title="Permalink to this definition">¶

Deprecated since version 3.20: Use a local icon file (CPACK_NUGET_PACKAGE_ICON) instead.

An URL for a 64x64 image with transparency background to use as the
icon for the package in UI display.

Mandatory:

No

Default:

None

CPACK_NUGET_PACKAGE_REQUIRE_LICENSE_ACCEPTANCE¶

When set to a true value, the user will be prompted to accept the license
before installing the package.

Mandatory:

No

Default:

None

CPACK_NUGET_PACKAGE_ICON¶

CPACK_NUGET_<compName>_PACKAGE_ICON<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_ICON" title="Permalink to this definition">¶

New in version 3.20.

The filename of a 64x64 image with transparency background to use as the
icon for the package in UI display.

Mandatory:

No

Default:

None

CPACK_NUGET_PACKAGE_DESCRIPTION_SUMMARY¶

CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION_SUMMARY<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION_SUMMARY" title="Permalink to this definition">¶

A short description of the package for UI display. If omitted, a
truncated version of description is used.

Mandatory:

No

Default:

CPACK_PACKAGE_DESCRIPTION_SUMMARY

CPACK_NUGET_PACKAGE_RELEASE_NOTES¶

CPACK_NUGET_<compName>_PACKAGE_RELEASE_NOTES<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_RELEASE_NOTES" title="Permalink to this definition">¶

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:

None

CPACK_NUGET_PACKAGE_COPYRIGHT¶

CPACK_NUGET_<compName>_PACKAGE_COPYRIGHT<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_COPYRIGHT" title="Permalink to this definition">¶

Copyright details for the package.

Mandatory:

No

Default:

None

CPACK_NUGET_PACKAGE_LANGUAGE¶

CPACK_NUGET_<compName>_PACKAGE_LANGUAGE<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_LANGUAGE" title="Permalink to this definition">¶

New in version 3.20.

Locale specifier for the package, for example en_CA.

Mandatory:

No

Default:

None

CPACK_NUGET_PACKAGE_TAGS¶

CPACK_NUGET_<compName>_PACKAGE_TAGS<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_TAGS" title="Permalink to this definition">¶

A space-delimited list of tags and keywords that describe the
package and aid discoverability of packages through search and
filtering.

Mandatory:

No

Default:

None

CPACK_NUGET_PACKAGE_DEPENDENCIES¶

CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES" title="Permalink to this definition">¶

A list of package dependencies.

Mandatory:

No

Default:

None

CPACK_NUGET_PACKAGE_DEPENDENCIES_<dependency>_VERSION<a class="headerlink" href="#variable:CPACK_NUGET_PACKAGE_DEPENDENCIES_<dependency>_VERSION" title="Permalink to this definition">¶

CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES_<dependency>_VERSION<a class="headerlink" href="#variable:CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES_<dependency>_VERSION" title="Permalink to this definition">¶

A version specification for the particular dependency, where
<dependency> is an item of the dependency list (see above)
transformed with string(MAKE_C_IDENTIFIER) command.

Mandatory:

No

Default:

None

CPACK_NUGET_PACKAGE_DEBUG¶

Enable debug messages while executing CPack NuGet generator.

Mandatory:

No

Default:

OFF

Table of Contents

CPack NuGet Generator

Variables specific to CPack NuGet generator

Previous topic

CPack NSIS Generator

Next topic

CPack PackageMaker Generator

This Page

Show Source

Quick search

    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cpack-generators(7) »

CPack NuGet Generator

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CPack PackageMaker Generator — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="icon" href="../_static/cmake-favicon.ico"/>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="CPack productbuild Generator" href="productbuild.html" />
    <link rel="prev" title="CPack NuGet Generator" href="nuget.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cpack-generators(7) »

CPack PackageMaker Generator

CPack PackageMaker Generator¶

Removed.  This once generated PackageMaker installers, but the
generator has been removed since CMake 3.24.  Xcode no longer distributes
the PackageMaker tools.  Use the CPack productbuild Generator
instead.

Previous topic

CPack NuGet Generator

Next topic

CPack productbuild Generator

This Page

Show Source

Quick search

    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cpack-generators(7) »

CPack PackageMaker Generator

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.


code:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />

  <title>CPack productbuild Generator — CMake 3.29.0-rc3 Documentation</title>

    <link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
    <link rel="stylesheet" type="text/css" href="../_static/cmake.css" />

    <link rel="icon" href="../_static/cmake-favicon.ico"/>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="CPack RPM Generator" href="rpm.html" />
    <link rel="prev" title="CPack PackageMaker Generator" href="packagemaker.html" />

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cpack-generators(7) »

CPack productbuild Generator

CPack productbuild Generator¶

New in version 3.7.

productbuild CPack generator (macOS).

Variables specific to CPack productbuild generator¶

The following variable is specific to installers built on Mac
macOS using ProductBuild:

CPACK_COMMAND_PRODUCTBUILD¶

Path to the productbuild(1) command used to generate a product archive for
the macOS Installer or Mac App Store.  This variable can be used to override
the automatically detected command (or specify its location if the
auto-detection fails to find it).

CPACK_PRODUCTBUILD_IDENTIFIER¶

New in version 3.23.

Set the unique (non-localized) product identifier to be associated with the
product (i.e., com.kitware.cmake). Any component product names will be
appended to this value.

CPACK_PRODUCTBUILD_IDENTITY_NAME¶

New in version 3.8.

Adds a digital signature to the resulting package.

CPACK_PRODUCTBUILD_KEYCHAIN_PATH¶

New in version 3.8.

Specify a specific keychain to search for the signing identity.

CPACK_COMMAND_PKGBUILD¶

Path to the pkgbuild(1) command used to generate an macOS component package
on macOS.  This variable can be used to override the automatically detected
command (or specify its location if the auto-detection fails to find it).

CPACK_PKGBUILD_IDENTITY_NAME¶

New in version 3.8.

Adds a digital signature to the resulting package.

CPACK_PKGBUILD_KEYCHAIN_PATH¶

New in version 3.8.

Specify a specific keychain to search for the signing identity.

CPACK_PREFLIGHT_<COMP>_SCRIPT<a class="headerlink" href="#variable:CPACK_PREFLIGHT_<COMP>_SCRIPT" title="Permalink to this definition">¶

Full path to a file that will be used as the preinstall script for the
named <COMP> component's package, where <COMP> is the uppercased
component name.  No preinstall script is added if this variable is not
defined for a given component.

CPACK_POSTFLIGHT_<COMP>_SCRIPT<a class="headerlink" href="#variable:CPACK_POSTFLIGHT_<COMP>_SCRIPT" title="Permalink to this definition">¶

Full path to a file that will be used as the postinstall script for the
named <COMP> component's package, where <COMP> is the uppercased
component name.  No postinstall script is added if this variable is not
defined for a given component.

CPACK_PRODUCTBUILD_RESOURCES_DIR¶

New in version 3.9.

If specified the productbuild generator copies files from this directory
(including subdirectories) to the Resources directory. This is done
before the CPACK_RESOURCE_FILE_WELCOME,
CPACK_RESOURCE_FILE_README, and
CPACK_RESOURCE_FILE_LICENSE files are copied.

CPACK_PRODUCTBUILD_DOMAINS¶

New in version 3.23.

This option enables more granular control over where the product may be
installed. When it is set to true (see policy CMP0161), a
domains element of the following form will be added to the
productbuild Distribution XML:

<domains enable_anywhere="true" enable_currentUserHome="false" enable_localSystem="true"/>

The default values are as shown above, but can be overridden with
CPACK_PRODUCTBUILD_DOMAINS_ANYWHERE,
CPACK_PRODUCTBUILD_DOMAINS_USER, and
CPACK_PRODUCTBUILD_DOMAINS_ROOT.

CPACK_PRODUCTBUILD_DOMAINS_ANYWHERE¶

New in version 3.23.

May be used to override the enable_anywhere attribute in the domains
element of the Distribution XML. When set to true, the product can be
installed at the root of any volume, including non-system volumes.

CPACK_PRODUCTBUILD_DOMAINS must be set to true for this variable
to have any effect.

CPACK_PRODUCTBUILD_DOMAINS_USER¶

New in version 3.23.

May be used to override the enable_currentUserHome attribute in the
domains element of the Distribution XML. When set to true, the product
can be installed into the current user's home directory. Note that when
installing into the user's home directory, the following additional
requirements will apply:

The installer may not write outside the user's home directory.

The install will be performed as the current user rather than as root.
This may have ramifications for CPACK_PREFLIGHT_<COMP>_SCRIPT
and CPACK_POSTFLIGHT_<COMP>_SCRIPT.

Administrative privileges will not be needed to perform the install.

CPACK_PRODUCTBUILD_DOMAINS must be set to true for this variable
to have any effect.

CPACK_PRODUCTBUILD_DOMAINS_ROOT¶

New in version 3.23.

May be used to override the enable_localSystem attribute in the
domains element of the Distribution XML. When set to true, the product
can be installed in the root directory. This should normally be set to true
unless the product should only be installed to the user's home directory.

CPACK_PRODUCTBUILD_DOMAINS must be set to true for this variable
to have any effect.

Background Image¶

New in version 3.17.

This group of variables controls the background image of the generated
installer.

CPACK_PRODUCTBUILD_BACKGROUND¶

Adds a background to Distribution XML if specified. The value contains the
path to image in Resources directory.

CPACK_PRODUCTBUILD_BACKGROUND_ALIGNMENT¶

Adds an alignment attribute to the background in Distribution XML.
Refer to Apple documentation for valid values.

CPACK_PRODUCTBUILD_BACKGROUND_SCALING¶

Adds a scaling attribute to the background in Distribution XML.
Refer to Apple documentation for valid values.

CPACK_PRODUCTBUILD_BACKGROUND_MIME_TYPE¶

Adds a mime-type attribute to the background in Distribution XML.
The option contains MIME type of an image.

CPACK_PRODUCTBUILD_BACKGROUND_UTI¶

Adds an uti attribute to the background in Distribution XML.
The option contains UTI type of an image.

CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA¶

Adds a background for the Dark Aqua theme to Distribution XML if
specified. The value contains the path to image in Resources
directory.

CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_ALIGNMENT¶

Does the same as CPACK_PRODUCTBUILD_BACKGROUND_ALIGNMENT option,
but for the dark theme.

CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_SCALING¶

Does the same as CPACK_PRODUCTBUILD_BACKGROUND_SCALING option,
but for the dark theme.

CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_MIME_TYPE¶

Does the same as CPACK_PRODUCTBUILD_BACKGROUND_MIME_TYPE option,
but for the dark theme.

CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_UTI¶

Does the same as CPACK_PRODUCTBUILD_BACKGROUND_UTI option,
but for the dark theme.

Distribution XML Template¶

CPack uses a template file to generate the distribution.dist file used
internally by this package generator. Ordinarily, CMake provides the template
file, but projects may supply their own by placing a file called
CPack.distribution.dist.in in one of the directories listed in the
CMAKE_MODULE_PATH variable. CPack will then pick up the project's
template file instead of using its own.

The distribution.dist file is generated by performing substitutions
similar to the configure_file() command. Any variable set when
CPack runs will be available for substitution using the usual @...@
form. The following variables are also set internally and made available for
substitution:

CPACK_RESOURCE_FILE_LICENSE_NOPATH

Same as CPACK_RESOURCE_FILE_LICENSE except without the path.
The named file will be available in the same directory as the generated
distribution.dist file.

CPACK_RESOURCE_FILE_README_NOPATH

Same as CPACK_RESOURCE_FILE_README except without the path.
The named file will be available in the same directory as the generated
distribution.dist file.

CPACK_RESOURCE_FILE_WELCOME_NOPATH

Same as CPACK_RESOURCE_FILE_WELCOME except without the path.
The named file will be available in the same directory as the generated
distribution.dist file.

CPACK_APPLE_PKG_INSTALLER_CONTENT

New in version 3.23.

This contains all the XML elements that specify installer-wide options
(including domain details), default backgrounds and the choices outline.

CPACK_PACKAGEMAKER_CHOICES

Deprecated since version 3.23.

This contains only the XML elements that specify the default backgrounds
and the choices outline. It does not include the installer-wide options or
any domain details. Use CPACK_APPLE_PKG_INSTALLER_CONTENT instead.

Table of Contents

CPack productbuild Generator

Variables specific to CPack productbuild generator

Background Image

Distribution XML Template

Previous topic

CPack PackageMaker Generator

Next topic

CPack RPM Generator

This Page

Show Source

Quick search

    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>

Navigation

          index

          next |

          previous |

    CMake »

    3.29.0-rc3 Documentation »

cpack-generators(7) »

CPack productbuild Generator

        © Copyright 2000-2024 Kitware, Inc. and Contributors.
      Created using Sphinx 6.2.1.