4581 lines
122 KiB
Groff
4581 lines
122 KiB
Groff
.\" Man page generated from reStructuredText.
|
||
.
|
||
.TH "CPACK-GENERATORS" "7" "Aug 20, 2020" "3.18.2" "CMake"
|
||
.SH NAME
|
||
cpack-generators \- CPack Generator Reference
|
||
.
|
||
.nr rst2man-indent-level 0
|
||
.
|
||
.de1 rstReportMargin
|
||
\\$1 \\n[an-margin]
|
||
level \\n[rst2man-indent-level]
|
||
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
-
|
||
\\n[rst2man-indent0]
|
||
\\n[rst2man-indent1]
|
||
\\n[rst2man-indent2]
|
||
..
|
||
.de1 INDENT
|
||
.\" .rstReportMargin pre:
|
||
. RS \\$1
|
||
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
|
||
. nr rst2man-indent-level +1
|
||
.\" .rstReportMargin post:
|
||
..
|
||
.de UNINDENT
|
||
. RE
|
||
.\" indent \\n[an-margin]
|
||
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
.nr rst2man-indent-level -1
|
||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||
..
|
||
.SH GENERATORS
|
||
.SS CPack Archive Generator
|
||
.sp
|
||
CPack generator for packaging files into an archive, which can have
|
||
any of the following formats:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
7Z \- 7zip \- (.7z)
|
||
.IP \(bu 2
|
||
TBZ2 (.tar.bz2)
|
||
.IP \(bu 2
|
||
TGZ (.tar.gz)
|
||
.IP \(bu 2
|
||
TXZ (.tar.xz)
|
||
.IP \(bu 2
|
||
TZ (.tar.Z)
|
||
.IP \(bu 2
|
||
TZST (.tar.zst)
|
||
.IP \(bu 2
|
||
ZIP (.zip)
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
When this generator is called from \fBCPackSourceConfig.cmake\fP (or through
|
||
the \fBpackage_source\fP target), then the generated archive will contain all
|
||
files in the project directory, except those specified in
|
||
\fBCPACK_SOURCE_IGNORE_FILES\fP\&. The following is one example of
|
||
packaging all source files of a project:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
set(CPACK_SOURCE_GENERATOR "TGZ")
|
||
set(CPACK_SOURCE_IGNORE_FILES
|
||
\e\e.git/
|
||
build/
|
||
".*~$"
|
||
)
|
||
set(CPACK_VERBATIM_VARIABLES YES)
|
||
include(CPack)
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
When this generator is called from \fBCPackConfig.cmake\fP (or through the
|
||
\fBpackage\fP target), then the generated archive will contain all files
|
||
that have been installed via CMake’s \fBinstall()\fP command (and the
|
||
deprecated commands \fBinstall_files()\fP, \fBinstall_programs()\fP,
|
||
and \fBinstall_targets()\fP).
|
||
.SS Variables specific to CPack Archive generator
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_ARCHIVE_FILE_NAME
|
||
.TP
|
||
.B CPACK_ARCHIVE_<component>_FILE_NAME
|
||
Package file name without extension. The extension is determined from the
|
||
archive format (see list above) and automatically appended to the file name.
|
||
The default is \fB<CPACK_PACKAGE_FILE_NAME>[\-<component>]\fP, with spaces
|
||
replaced by ‘\-‘.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_ARCHIVE_COMPONENT_INSTALL
|
||
Enable component packaging. If enabled (ON), then the archive generator
|
||
creates multiple packages. The default is OFF, which means that a single
|
||
package containing files of all components is generated.
|
||
.UNINDENT
|
||
.SS Variables used by CPack Archive generator
|
||
.sp
|
||
These variables are used by the Archive generator, but are also available to
|
||
CPack generators which are essentially archives at their core. These include:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
\fBCPack Cygwin Generator\fP
|
||
.IP \(bu 2
|
||
\fBCPack FreeBSD Generator\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_ARCHIVE_THREADS
|
||
The number of threads to use when performing the compression. If set to
|
||
\fB0\fP, the number of available cores on the machine will be used instead.
|
||
The default is \fB1\fP which limits compression to a single thread. Note that
|
||
not all compression modes support threading in all environments. Currently,
|
||
only the XZ compression may support it.
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
Official CMake binaries available on \fBcmake.org\fP ship with a \fBliblzma\fP
|
||
that does not support parallel compression.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS CPack Bundle Generator
|
||
.sp
|
||
CPack Bundle generator (macOS) specific options
|
||
.SS Variables specific to CPack Bundle generator
|
||
.sp
|
||
Installers built on macOS using the Bundle generator use the
|
||
aforementioned DragNDrop (\fBCPACK_DMG_xxx\fP) variables, plus the following
|
||
Bundle\-specific parameters (\fBCPACK_BUNDLE_xxx\fP).
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_BUNDLE_NAME
|
||
The name of the generated bundle. This appears in the macOS Finder as the
|
||
bundle name. Required.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_BUNDLE_PLIST
|
||
Path to an macOS Property List (\fB\&.plist\fP) file that will be used
|
||
for the generated bundle. This
|
||
assumes that the caller has generated or specified their own \fBInfo.plist\fP
|
||
file. Required.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_BUNDLE_ICON
|
||
Path to an macOS icon file that will be used as the icon for the generated
|
||
bundle. This is the icon that appears in the macOS Finder for the bundle, and
|
||
in the macOS dock when the bundle is opened. Required.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_BUNDLE_STARTUP_COMMAND
|
||
Path to a startup script. This is a path to an executable or script that
|
||
will be run whenever an end\-user double\-clicks the generated bundle in the
|
||
macOS Finder. Optional.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_BUNDLE_APPLE_CERT_APP
|
||
The name of your Apple supplied code signing certificate for the application.
|
||
The name usually takes the form \fBDeveloper ID Application: [Name]\fP or
|
||
\fB3rd Party Mac Developer Application: [Name]\fP\&. If this variable is not set
|
||
the application will not be signed.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_BUNDLE_APPLE_ENTITLEMENTS
|
||
The name of the Property List (\fB\&.plist\fP) file that contains your Apple
|
||
entitlements for sandboxing your application. This file is required
|
||
for submission to the macOS App Store.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_BUNDLE_APPLE_CODESIGN_FILES
|
||
A list of additional files that you wish to be signed. You do not need to
|
||
list the main application folder, or the main executable. You should
|
||
list any frameworks and plugins that are included in your app bundle.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_BUNDLE_APPLE_CODESIGN_PARAMETER
|
||
Additional parameter that will passed to \fBcodesign\fP\&.
|
||
Default value: \fB\-\-deep \-f\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_COMMAND_CODESIGN
|
||
Path to the \fBcodesign(1)\fP command used to sign applications with an
|
||
Apple cert. This variable can be used to override the automatically
|
||
detected command (or specify its location if the auto\-detection fails
|
||
to find it).
|
||
.UNINDENT
|
||
.SS CPack Cygwin Generator
|
||
.sp
|
||
Cygwin CPack generator (Cygwin).
|
||
.SS Variables affecting the CPack Cygwin generator
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
\fBCPACK_ARCHIVE_THREADS\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS Variables specific to CPack Cygwin generator
|
||
.sp
|
||
The
|
||
following variable is specific to installers build on and/or for
|
||
Cygwin:
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_CYGWIN_PATCH_NUMBER
|
||
The Cygwin patch number. FIXME: This documentation is incomplete.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_CYGWIN_PATCH_FILE
|
||
The Cygwin patch file. FIXME: This documentation is incomplete.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_CYGWIN_BUILD_SCRIPT
|
||
The Cygwin build script. FIXME: This documentation is incomplete.
|
||
.UNINDENT
|
||
.SS CPack DEB Generator
|
||
.sp
|
||
The built in (binary) CPack DEB generator (Unix only)
|
||
.SS Variables specific to CPack Debian (DEB) generator
|
||
.sp
|
||
The CPack DEB generator may be used to create DEB package using \fBCPack\fP\&.
|
||
The CPack DEB generator is a \fBCPack\fP generator thus it uses the
|
||
\fBCPACK_XXX\fP variables used by \fBCPack\fP\&.
|
||
.sp
|
||
The CPack DEB generator should work on any Linux host but it will produce
|
||
better deb package when Debian specific tools \fBdpkg\-xxx\fP are usable on
|
||
the build system.
|
||
.sp
|
||
The CPack DEB generator has specific features which are controlled by the
|
||
specifics \fBCPACK_DEBIAN_XXX\fP variables.
|
||
.sp
|
||
\fBCPACK_DEBIAN_<COMPONENT>_XXXX\fP variables may be used in order to have
|
||
\fBcomponent\fP specific values. Note however that \fB<COMPONENT>\fP refers to
|
||
the \fBgrouping name\fP written in upper case. It may be either a component name
|
||
or a component GROUP name.
|
||
.sp
|
||
Here are some CPack DEB generator wiki resources that are here for historic
|
||
reasons and are no longer maintained but may still prove useful:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
\fI\%https://gitlab.kitware.com/cmake/community/\-/wikis/doc/cpack/Configuration\fP
|
||
.IP \(bu 2
|
||
\fI\%https://gitlab.kitware.com/cmake/community/\-/wikis/doc/cpack/PackageGenerators#deb\-unix\-only\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
List of CPack DEB generator specific variables:
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEB_COMPONENT_INSTALL
|
||
Enable component packaging for CPackDEB
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : OFF
|
||
.UNINDENT
|
||
.sp
|
||
If enabled (ON) multiple packages are generated. By default a single package
|
||
containing files of all components is generated.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_NAME
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_NAME
|
||
Set Package control field (variable is automatically transformed to lower
|
||
case).
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default :
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
\fBCPACK_PACKAGE_NAME\fP for non\-component based
|
||
installations
|
||
.IP \(bu 2
|
||
\fI\%CPACK_DEBIAN_PACKAGE_NAME\fP suffixed with \-<COMPONENT>
|
||
for component\-based installations.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
See \fI\%https://www.debian.org/doc/debian\-policy/ch\-controlfields.html#s\-f\-Source\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_FILE_NAME
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_FILE_NAME
|
||
Package file name.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : \fB<CPACK_PACKAGE_FILE_NAME>[\-<component>].deb\fP
|
||
.UNINDENT
|
||
.sp
|
||
This may be set to \fBDEB\-DEFAULT\fP to allow the CPack DEB generator to generate
|
||
package file name by itself in deb format:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
<PackageName>_<VersionNumber>\-<DebianRevisionNumber>_<DebianArchitecture>.deb
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
Alternatively provided package file name must end
|
||
with either \fB\&.deb\fP or \fB\&.ipk\fP suffix.
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
Preferred setting of this variable is \fBDEB\-DEFAULT\fP but for backward
|
||
compatibility with the CPack DEB generator in CMake prior to version 3.6 this
|
||
feature is disabled by default.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
By using non default filenames duplicate names may occur. Duplicate files
|
||
get overwritten and it is up to the packager to set the variables in a
|
||
manner that will prevent such errors.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_EPOCH
|
||
The Debian package epoch
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : No
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
Optional number that should be incremented when changing versioning schemas
|
||
or fixing mistakes in the version numbers of older packages.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_VERSION
|
||
The Debian package version
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : \fBCPACK_PACKAGE_VERSION\fP
|
||
.UNINDENT
|
||
.sp
|
||
This variable may contain only alphanumerics (A\-Za\-z0\-9) and the characters
|
||
\&. + \- ~ (full stop, plus, hyphen, tilde) and should start with a digit. If
|
||
\fI\%CPACK_DEBIAN_PACKAGE_RELEASE\fP is not set then hyphens are not
|
||
allowed.
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
For backward compatibility with CMake 3.9 and lower a failed test of this
|
||
variable’s content is not a hard error when both
|
||
\fI\%CPACK_DEBIAN_PACKAGE_RELEASE\fP and
|
||
\fI\%CPACK_DEBIAN_PACKAGE_EPOCH\fP variables are not set. An author
|
||
warning is reported instead.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_RELEASE
|
||
The Debian package release \- Debian revision number.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : No
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
This is the numbering of the DEB package itself, i.e. the version of the
|
||
packaging and not the version of the content (see
|
||
\fI\%CPACK_DEBIAN_PACKAGE_VERSION\fP). One may change the default value
|
||
if the previous packaging was buggy and/or you want to put here a fancy Linux
|
||
distro specific numbering.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_ARCHITECTURE
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE
|
||
The Debian package architecture
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : Output of \fBdpkg \-\-print\-architecture\fP (or \fBi386\fP
|
||
if \fBdpkg\fP is not found)
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_DEPENDS
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS
|
||
Sets the Debian dependencies of this package.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default :
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
An empty string for non\-component based installations
|
||
.IP \(bu 2
|
||
\fI\%CPACK_DEBIAN_PACKAGE_DEPENDS\fP for component\-based
|
||
installations.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
If \fI\%CPACK_DEBIAN_PACKAGE_SHLIBDEPS\fP or
|
||
more specifically \fI\%CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS\fP
|
||
is set for this component, the discovered dependencies will be appended
|
||
to \fI\%CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS\fP instead of
|
||
\fI\%CPACK_DEBIAN_PACKAGE_DEPENDS\fP\&. If
|
||
\fI\%CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS\fP is an empty string,
|
||
only the automatically discovered dependencies will be set for this
|
||
component.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
Example:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1\-6), libc6 (< 2.4)")
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS
|
||
Sets inter component dependencies if listed with
|
||
\fBCPACK_COMPONENT_<compName>_DEPENDS\fP variables.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_MAINTAINER
|
||
The Debian package maintainer
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : \fBCPACK_PACKAGE_CONTACT\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_DESCRIPTION
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_DESCRIPTION
|
||
The Debian package description
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default :
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
\fI\%CPACK_DEBIAN_<COMPONENT>_DESCRIPTION\fP (component
|
||
based installers only) if set, or \fI\%CPACK_DEBIAN_PACKAGE_DESCRIPTION\fP if set, or
|
||
.IP \(bu 2
|
||
\fBCPACK_COMPONENT_<compName>_DESCRIPTION\fP (component
|
||
based installers only) if set, or \fBCPACK_PACKAGE_DESCRIPTION\fP if set, or
|
||
.IP \(bu 2
|
||
content of the file specified in \fBCPACK_PACKAGE_DESCRIPTION_FILE\fP if set
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
If after that description is not set, \fBCPACK_PACKAGE_DESCRIPTION_SUMMARY\fP going to be
|
||
used if set. Otherwise, \fBCPACK_PACKAGE_DESCRIPTION_SUMMARY\fP will be added as the first
|
||
line of description as defined in \fI\%Debian Policy Manual\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_SECTION
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION
|
||
Set Section control field e.g. admin, devel, doc, …
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : “devel”
|
||
.UNINDENT
|
||
.sp
|
||
See \fI\%https://www.debian.org/doc/debian\-policy/ch\-archive.html#s\-subsections\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_ARCHIVE_TYPE
|
||
The archive format used for creating the Debian package.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : “gnutar”
|
||
.UNINDENT
|
||
.sp
|
||
Possible value is:
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
gnutar
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
This variable previously defaulted to the \fBpaxr\fP value, but \fBdpkg\fP
|
||
has never supported that tar format. For backwards compatibility the
|
||
\fBpaxr\fP value will be mapped to \fBgnutar\fP and a deprecation message
|
||
will be emitted.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_COMPRESSION_TYPE
|
||
The compression used for creating the Debian package.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : “gzip”
|
||
.UNINDENT
|
||
.sp
|
||
Possible values are:
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
lzma
|
||
.IP \(bu 2
|
||
xz
|
||
.IP \(bu 2
|
||
bzip2
|
||
.IP \(bu 2
|
||
gzip
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_PRIORITY
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY
|
||
Set Priority control field e.g. required, important, standard, optional,
|
||
extra
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : “optional”
|
||
.UNINDENT
|
||
.sp
|
||
See \fI\%https://www.debian.org/doc/debian\-policy/ch\-archive.html#s\-priorities\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_HOMEPAGE
|
||
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.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \fBCMAKE_PROJECT_HOMEPAGE_URL\fP
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
The content of this field is a simple URL without any surrounding
|
||
characters such as <>.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_SHLIBDEPS
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS
|
||
May be set to ON in order to use \fBdpkg\-shlibdeps\fP to generate
|
||
better package dependency list.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default :
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
\fI\%CPACK_DEBIAN_PACKAGE_SHLIBDEPS\fP if set or
|
||
.IP \(bu 2
|
||
OFF
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
You may need set \fBCMAKE_INSTALL_RPATH\fP to an appropriate value
|
||
if you use this feature, because if you don’t \fBdpkg\-shlibdeps\fP
|
||
may fail to find your own shared libs.
|
||
See \fI\%https://gitlab.kitware.com/cmake/community/\-/wikis/doc/cmake/RPATH\-handling\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_DEBUG
|
||
May be set when invoking cpack in order to trace debug information
|
||
during the CPack DEB generator run.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_PREDEPENDS
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS
|
||
Sets the \fIPre\-Depends\fP field of the Debian package.
|
||
Like \fI\%Depends\fP, except that it
|
||
also forces \fBdpkg\fP to complete installation of the packages named
|
||
before even starting the installation of the package which declares the
|
||
pre\-dependency.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default :
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
An empty string for non\-component based installations
|
||
.IP \(bu 2
|
||
\fI\%CPACK_DEBIAN_PACKAGE_PREDEPENDS\fP for component\-based
|
||
installations.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
See \fI\%http://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-binarydeps\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_ENHANCES
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES
|
||
Sets the \fIEnhances\fP field of the Debian package.
|
||
Similar to \fI\%Suggests\fP but works
|
||
in the opposite direction: declares that a package can enhance the
|
||
functionality of another package.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default :
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
An empty string for non\-component based installations
|
||
.IP \(bu 2
|
||
\fI\%CPACK_DEBIAN_PACKAGE_ENHANCES\fP for component\-based
|
||
installations.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
See \fI\%http://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-binarydeps\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_BREAKS
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS
|
||
Sets the \fIBreaks\fP field of the Debian package.
|
||
When a binary package (P) declares that it breaks other packages (B),
|
||
\fBdpkg\fP will not allow the package (P) which declares \fIBreaks\fP be
|
||
\fBunpacked\fP unless the packages that will be broken (B) are deconfigured
|
||
first.
|
||
As long as the package (P) is configured, the previously deconfigured
|
||
packages (B) cannot be reconfigured again.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default :
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
An empty string for non\-component based installations
|
||
.IP \(bu 2
|
||
\fI\%CPACK_DEBIAN_PACKAGE_BREAKS\fP for component\-based
|
||
installations.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
See \fI\%https://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-breaks\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_CONFLICTS
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS
|
||
Sets the \fIConflicts\fP field of the Debian package.
|
||
When one binary package declares a conflict with another using a \fIConflicts\fP
|
||
field, \fBdpkg\fP will not allow them to be unpacked on the system at
|
||
the same time.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default :
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
An empty string for non\-component based installations
|
||
.IP \(bu 2
|
||
\fI\%CPACK_DEBIAN_PACKAGE_CONFLICTS\fP for component\-based
|
||
installations.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
See \fI\%https://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-conflicts\fP
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
This is a stronger restriction than
|
||
\fI\%Breaks\fP, which prevents the
|
||
broken package from being configured while the breaking package is in
|
||
the “Unpacked” state but allows both packages to be unpacked at the same
|
||
time.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_PROVIDES
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES
|
||
Sets the \fIProvides\fP field of the Debian package.
|
||
A virtual package is one which appears in the \fIProvides\fP control field of
|
||
another package.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default :
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
An empty string for non\-component based installations
|
||
.IP \(bu 2
|
||
\fI\%CPACK_DEBIAN_PACKAGE_PROVIDES\fP for component\-based
|
||
installations.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
See \fI\%https://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-virtual\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_REPLACES
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES
|
||
Sets the \fIReplaces\fP field of the Debian package.
|
||
Packages can declare in their control file that they should overwrite
|
||
files in certain other packages, or completely replace other packages.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default :
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
An empty string for non\-component based installations
|
||
.IP \(bu 2
|
||
\fI\%CPACK_DEBIAN_PACKAGE_REPLACES\fP for component\-based
|
||
installations.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
See \fI\%http://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-binarydeps\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_RECOMMENDS
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS
|
||
Sets the \fIRecommends\fP field of the Debian package.
|
||
Allows packages to declare a strong, but not absolute, dependency on other
|
||
packages.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default :
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
An empty string for non\-component based installations
|
||
.IP \(bu 2
|
||
\fI\%CPACK_DEBIAN_PACKAGE_RECOMMENDS\fP for component\-based
|
||
installations.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
See \fI\%http://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-binarydeps\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_SUGGESTS
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS
|
||
Sets the \fISuggests\fP field of the Debian package.
|
||
Allows packages to declare a suggested package install grouping.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default :
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
An empty string for non\-component based installations
|
||
.IP \(bu 2
|
||
\fI\%CPACK_DEBIAN_PACKAGE_SUGGESTS\fP for component\-based
|
||
installations.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
See \fI\%http://www.debian.org/doc/debian\-policy/ch\-relationships.html#s\-binarydeps\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : OFF
|
||
.UNINDENT
|
||
.sp
|
||
Allows to generate shlibs control file automatically. Compatibility is defined by
|
||
\fI\%CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY\fP variable value.
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
Libraries are only considered if they have both library name and version
|
||
set. This can be done by setting SOVERSION property with
|
||
\fBset_target_properties()\fP command.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY
|
||
Compatibility policy for auto\-generated shlibs control file.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : “=”
|
||
.UNINDENT
|
||
.sp
|
||
Defines compatibility policy for auto\-generated shlibs control file.
|
||
Possible values: “=”, “>=”
|
||
.sp
|
||
See \fI\%https://www.debian.org/doc/debian\-policy/ch\-sharedlibs.html#s\-sharedlibs\-shlibdeps\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_EXTRA
|
||
This variable allow advanced user to add custom script to the
|
||
control.tar.gz.
|
||
Typical usage is for conffiles, postinst, postrm, prerm.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
Usage:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
|
||
"${CMAKE_CURRENT_SOURCE_DIR}/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
The original permissions of the files will be used in the final
|
||
package unless the variable
|
||
\fI\%CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION\fP is set.
|
||
In particular, the scripts should have the proper executable
|
||
flag prior to the generation of the package.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_STRICT_PERMISSION
|
||
This variable indicates if the Debian policy on control files should be
|
||
strictly followed.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : FALSE
|
||
.UNINDENT
|
||
.sp
|
||
Usage:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
set(CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION TRUE)
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
This overrides the permissions on the original files, following the rules
|
||
set by Debian policy
|
||
\fI\%https://www.debian.org/doc/debian\-policy/ch\-files.html#s\-permissions\-owners\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_PACKAGE_SOURCE
|
||
.TP
|
||
.B CPACK_DEBIAN_<COMPONENT>_PACKAGE_SOURCE
|
||
Sets the \fBSource\fP field of the binary Debian package.
|
||
When the binary package name is not the same as the source package name
|
||
(in particular when several components/binaries are generated from one
|
||
source) the source from which the binary has been generated should be
|
||
indicated with the field \fBSource\fP\&.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default :
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
An empty string for non\-component based installations
|
||
.IP \(bu 2
|
||
\fI\%CPACK_DEBIAN_PACKAGE_SOURCE\fP for component\-based
|
||
installations.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
See \fI\%https://www.debian.org/doc/debian\-policy/ch\-controlfields.html#s\-f\-Source\fP
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
This value is not interpreted. It is possible to pass an optional
|
||
revision number of the referenced source package as well.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS Packaging of debug information
|
||
.sp
|
||
Dbgsym packages contain debug symbols for debugging packaged binaries.
|
||
.sp
|
||
Dbgsym packaging has its own set of variables:
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DEBIAN_DEBUGINFO_PACKAGE
|
||
.TP
|
||
.B CPACK_DEBIAN_<component>_DEBUGINFO_PACKAGE
|
||
Enable generation of dbgsym .ddeb package(s).
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : OFF
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
Binaries must contain debug symbols before packaging so use either \fBDebug\fP
|
||
or \fBRelWithDebInfo\fP for \fBCMAKE_BUILD_TYPE\fP variable value.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS Building Debian packages on Windows
|
||
.sp
|
||
To communicate UNIX file permissions from the install stage
|
||
to the CPack DEB generator the “cmake_mode_t” NTFS
|
||
alternate data stream (ADT) is used.
|
||
.sp
|
||
When a filesystem without ADT support is used only owner read/write
|
||
permissions can be preserved.
|
||
.SS Reproducible packages
|
||
.sp
|
||
The environment variable \fBSOURCE_DATE_EPOCH\fP may be set to a UNIX
|
||
timestamp, defined as the number of seconds, excluding leap seconds,
|
||
since 01 Jan 1970 00:00:00 UTC. If set, the CPack DEB generator will
|
||
use its value for timestamps in the package.
|
||
.SS CPack DragNDrop Generator
|
||
.sp
|
||
The DragNDrop CPack generator (macOS) creates a DMG image.
|
||
.SS Variables specific to CPack DragNDrop generator
|
||
.sp
|
||
The following variables are specific to the DragNDrop installers built
|
||
on macOS:
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DMG_VOLUME_NAME
|
||
The volume name of the generated disk image. Defaults to
|
||
CPACK_PACKAGE_FILE_NAME.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DMG_FORMAT
|
||
The disk image format. Common values are \fBUDRO\fP (UDIF read\-only), \fBUDZO\fP (UDIF
|
||
zlib\-compressed) or \fBUDBZ\fP (UDIF bzip2\-compressed). Refer to \fBhdiutil(1)\fP for
|
||
more information on other available formats. Defaults to \fBUDZO\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DMG_DS_STORE
|
||
Path to a custom \fB\&.DS_Store\fP file. This \fB\&.DS_Store\fP file can be used to
|
||
specify the Finder window position/geometry and layout (such as hidden
|
||
toolbars, placement of the icons etc.). This file has to be generated by
|
||
the Finder (either manually or through AppleScript) using a normal folder
|
||
from which the \fB\&.DS_Store\fP file can then be extracted.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DMG_DS_STORE_SETUP_SCRIPT
|
||
Path to a custom AppleScript file. This AppleScript is used to generate
|
||
a \fB\&.DS_Store\fP file which specifies the Finder window position/geometry and
|
||
layout (such as hidden toolbars, placement of the icons etc.).
|
||
By specifying a custom AppleScript there is no need to use
|
||
\fBCPACK_DMG_DS_STORE\fP, as the \fB\&.DS_Store\fP that is generated by the AppleScript
|
||
will be packaged.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DMG_BACKGROUND_IMAGE
|
||
Path to an image file to be used as the background. This file will be
|
||
copied to \fB\&.background\fP/\fBbackground.<ext>\fP, where \fB<ext>\fP is the original image file
|
||
extension. The background image is installed into the image before
|
||
\fBCPACK_DMG_DS_STORE_SETUP_SCRIPT\fP is executed or \fBCPACK_DMG_DS_STORE\fP is
|
||
installed. By default no background image is set.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK
|
||
Default behaviour is to include a symlink to \fB/Applications\fP in the DMG.
|
||
Set this option to \fBON\fP to avoid adding the symlink.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DMG_SLA_DIR
|
||
Directory where license and menu files for different languages are stored.
|
||
Setting this causes CPack to look for a \fB<language>.menu.txt\fP and
|
||
\fB<language>.license.txt\fP or \fB<language>.license.rtf\fP file for every
|
||
language defined in \fBCPACK_DMG_SLA_LANGUAGES\fP\&. If both this variable and
|
||
\fBCPACK_RESOURCE_FILE_LICENSE\fP are set, CPack will only look for the menu
|
||
files and use the same license file for all languages. If both
|
||
\fB<language>.license.txt\fP and \fB<language>.license.rtf\fP exist, the \fB\&.txt\fP
|
||
file will be used.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DMG_SLA_LANGUAGES
|
||
Languages for which a license agreement is provided when mounting the
|
||
generated DMG. A menu file consists of 9 lines of text. The first line is
|
||
is the name of the language itself, uppercase, in English (e.g. German).
|
||
The other lines are translations of the following strings:
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Agree
|
||
.IP \(bu 2
|
||
Disagree
|
||
.IP \(bu 2
|
||
Print
|
||
.IP \(bu 2
|
||
Save…
|
||
.IP \(bu 2
|
||
You agree to the terms of the License Agreement when you click the
|
||
“Agree” button.
|
||
.IP \(bu 2
|
||
Software License Agreement
|
||
.IP \(bu 2
|
||
This text cannot be saved. The disk may be full or locked, or the file
|
||
may be locked.
|
||
.IP \(bu 2
|
||
Unable to print. Make sure you have selected a printer.
|
||
.UNINDENT
|
||
.sp
|
||
For every language in this list, CPack will try to find files
|
||
\fB<language>.menu.txt\fP and \fB<language>.license.txt\fP in the directory
|
||
specified by the \fI\%CPACK_DMG_SLA_DIR\fP variable.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_DMG_<component>_FILE_NAME
|
||
File name when packaging \fB<component>\fP as its own DMG
|
||
(\fBCPACK_COMPONENTS_GROUPING\fP set to IGNORE).
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Default: \fBCPACK_PACKAGE_FILE_NAME\-<component>\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_COMMAND_HDIUTIL
|
||
Path to the \fBhdiutil(1)\fP command used to operate on disk image files 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).
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_COMMAND_SETFILE
|
||
Path to the \fBSetFile(1)\fP command used to set extended attributes on files and
|
||
directories 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).
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_COMMAND_REZ
|
||
Path to the \fBRez(1)\fP command used to compile resources 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).
|
||
.UNINDENT
|
||
.SS CPack External Generator
|
||
.sp
|
||
CPack provides many generators to create packages for a variety of platforms
|
||
and packaging systems. The intention is for CMake/CPack to be a complete
|
||
end\-to\-end solution for building and packaging a software project. However, it
|
||
may not always be possible to use CPack for the entire packaging process, due
|
||
to either technical limitations or policies that require the use of certain
|
||
tools. For this reason, CPack provides the “External” generator, which allows
|
||
external packaging software to take advantage of some of the functionality
|
||
provided by CPack, such as component installation and the dependency graph.
|
||
.SS Integration with External Packaging Tools
|
||
.sp
|
||
The CPack External generator generates a \fB\&.json\fP file containing the
|
||
CPack internal metadata, which gives external software information
|
||
on how to package the software. External packaging software may itself
|
||
invoke CPack, consume the generated metadata,
|
||
install and package files as required.
|
||
.sp
|
||
Alternatively CPack can invoke an external packaging software
|
||
through an optional custom CMake script in
|
||
\fI\%CPACK_EXTERNAL_PACKAGE_SCRIPT\fP instead.
|
||
.sp
|
||
Staging of installation files may also optionally be
|
||
taken care of by the generator when enabled through the
|
||
\fI\%CPACK_EXTERNAL_ENABLE_STAGING\fP variable.
|
||
.SS JSON Format
|
||
.sp
|
||
The JSON metadata file contains a list of CPack components and component groups,
|
||
the various options passed to \fBcpack_add_component()\fP and
|
||
\fBcpack_add_component_group()\fP, the dependencies between the components
|
||
and component groups, and various other options passed to CPack.
|
||
.sp
|
||
The JSON’s root object will always provide two fields:
|
||
\fBformatVersionMajor\fP and \fBformatVersionMinor\fP, which are always integers
|
||
that describe the output format of the generator. Backwards\-compatible changes
|
||
to the output format (for example, adding a new field that didn’t exist before)
|
||
cause the minor version to be incremented, and backwards\-incompatible changes
|
||
(for example, deleting a field or changing its meaning) cause the major version
|
||
to be incremented and the minor version reset to 0. The format version is
|
||
always of the format \fBmajor.minor\fP\&. In other words, it always has exactly two
|
||
parts, separated by a period.
|
||
.sp
|
||
You can request one or more specific versions of the output format as described
|
||
below with \fI\%CPACK_EXTERNAL_REQUESTED_VERSIONS\fP\&. The output format will
|
||
have a major version that exactly matches the requested major version, and a
|
||
minor version that is greater than or equal to the requested minor version. If
|
||
no version is requested with \fI\%CPACK_EXTERNAL_REQUESTED_VERSIONS\fP, the
|
||
latest known major version is used by default. Currently, the only supported
|
||
format is 1.0, which is described below.
|
||
.SS Version 1.0
|
||
.sp
|
||
In addition to the standard format fields, format version 1.0 provides the
|
||
following fields in the root:
|
||
.INDENT 0.0
|
||
.TP
|
||
.B \fBcomponents\fP
|
||
The \fBcomponents\fP field is an object with component names as the keys and
|
||
objects describing the components as the values. The component objects have
|
||
the following fields:
|
||
.INDENT 7.0
|
||
.TP
|
||
.B \fBname\fP
|
||
The name of the component. This is always the same as the key in the
|
||
\fBcomponents\fP object.
|
||
.TP
|
||
.B \fBdisplayName\fP
|
||
The value of the \fBDISPLAY_NAME\fP field passed to
|
||
\fBcpack_add_component()\fP\&.
|
||
.TP
|
||
.B \fBdescription\fP
|
||
The value of the \fBDESCRIPTION\fP field passed to
|
||
\fBcpack_add_component()\fP\&.
|
||
.TP
|
||
.B \fBisHidden\fP
|
||
True if \fBHIDDEN\fP was passed to \fBcpack_add_component()\fP, false if
|
||
it was not.
|
||
.TP
|
||
.B \fBisRequired\fP
|
||
True if \fBREQUIRED\fP was passed to \fBcpack_add_component()\fP, false if
|
||
it was not.
|
||
.TP
|
||
.B \fBisDisabledByDefault\fP
|
||
True if \fBDISABLED\fP was passed to \fBcpack_add_component()\fP, false if
|
||
it was not.
|
||
.TP
|
||
.B \fBgroup\fP
|
||
Only present if \fBGROUP\fP was passed to \fBcpack_add_component()\fP\&. If
|
||
so, this field is a string value containing the component’s group.
|
||
.TP
|
||
.B \fBdependencies\fP
|
||
An array of components the component depends on. This contains the values
|
||
in the \fBDEPENDS\fP argument passed to \fBcpack_add_component()\fP\&. If no
|
||
\fBDEPENDS\fP argument was passed, this is an empty list.
|
||
.TP
|
||
.B \fBinstallationTypes\fP
|
||
An array of installation types the component is part of. This contains the
|
||
values in the \fBINSTALL_TYPES\fP argument passed to
|
||
\fBcpack_add_component()\fP\&. If no \fBINSTALL_TYPES\fP argument was
|
||
passed, this is an empty list.
|
||
.TP
|
||
.B \fBisDownloaded\fP
|
||
True if \fBDOWNLOADED\fP was passed to \fBcpack_add_component()\fP, false
|
||
if it was not.
|
||
.TP
|
||
.B \fBarchiveFile\fP
|
||
The name of the archive file passed with the \fBARCHIVE_FILE\fP argument to
|
||
\fBcpack_add_component()\fP\&. If no \fBARCHIVE_FILE\fP argument was passed,
|
||
this is an empty string.
|
||
.UNINDENT
|
||
.TP
|
||
.B \fBcomponentGroups\fP
|
||
The \fBcomponentGroups\fP field is an object with component group names as the
|
||
keys and objects describing the component groups as the values. The component
|
||
group objects have the following fields:
|
||
.INDENT 7.0
|
||
.TP
|
||
.B \fBname\fP
|
||
The name of the component group. This is always the same as the key in the
|
||
\fBcomponentGroups\fP object.
|
||
.TP
|
||
.B \fBdisplayName\fP
|
||
The value of the \fBDISPLAY_NAME\fP field passed to
|
||
\fBcpack_add_component_group()\fP\&.
|
||
.TP
|
||
.B \fBdescription\fP
|
||
The value of the \fBDESCRIPTION\fP field passed to
|
||
\fBcpack_add_component_group()\fP\&.
|
||
.TP
|
||
.B \fBparentGroup\fP
|
||
Only present if \fBPARENT_GROUP\fP was passed to
|
||
\fBcpack_add_component_group()\fP\&. If so, this field is a string value
|
||
containing the component group’s parent group.
|
||
.TP
|
||
.B \fBisExpandedByDefault\fP
|
||
True if \fBEXPANDED\fP was passed to \fBcpack_add_component_group()\fP,
|
||
false if it was not.
|
||
.TP
|
||
.B \fBisBold\fP
|
||
True if \fBBOLD_TITLE\fP was passed to \fBcpack_add_component_group()\fP,
|
||
false if it was not.
|
||
.TP
|
||
.B \fBcomponents\fP
|
||
An array of names of components that are direct members of the group
|
||
(components that have this group as their \fBGROUP\fP). Components of
|
||
subgroups are not included.
|
||
.TP
|
||
.B \fBsubgroups\fP
|
||
An array of names of component groups that are subgroups of the group
|
||
(groups that have this group as their \fBPARENT_GROUP\fP).
|
||
.UNINDENT
|
||
.TP
|
||
.B \fBinstallationTypes\fP
|
||
The \fBinstallationTypes\fP field is an object with installation type names as
|
||
the keys and objects describing the installation types as the values. The
|
||
installation type objects have the following fields:
|
||
.INDENT 7.0
|
||
.TP
|
||
.B \fBname\fP
|
||
The name of the installation type. This is always the same as the key in
|
||
the \fBinstallationTypes\fP object.
|
||
.TP
|
||
.B \fBdisplayName\fP
|
||
The value of the \fBDISPLAY_NAME\fP field passed to
|
||
\fBcpack_add_install_type()\fP\&.
|
||
.TP
|
||
.B \fBindex\fP
|
||
The integer index of the installation type in the list.
|
||
.UNINDENT
|
||
.TP
|
||
.B \fBprojects\fP
|
||
The \fBprojects\fP field is an array of objects describing CMake projects which
|
||
comprise the CPack project. The values in this field are derived from
|
||
\fBCPACK_INSTALL_CMAKE_PROJECTS\fP\&. In most cases, this will be only a
|
||
single project. The project objects have the following fields:
|
||
.INDENT 7.0
|
||
.TP
|
||
.B \fBprojectName\fP
|
||
The project name passed to \fBCPACK_INSTALL_CMAKE_PROJECTS\fP\&.
|
||
.TP
|
||
.B \fBcomponent\fP
|
||
The name of the component or component set which comprises the project.
|
||
.TP
|
||
.B \fBdirectory\fP
|
||
The build directory of the CMake project. This is the directory which
|
||
contains the \fBcmake_install.cmake\fP script.
|
||
.TP
|
||
.B \fBsubDirectory\fP
|
||
The subdirectory to install the project into inside the CPack package.
|
||
.UNINDENT
|
||
.TP
|
||
.B \fBpackageName\fP
|
||
The package name given in \fBCPACK_PACKAGE_NAME\fP\&. Only present if
|
||
this option is set.
|
||
.TP
|
||
.B \fBpackageVersion\fP
|
||
The package version given in \fBCPACK_PACKAGE_VERSION\fP\&. Only present
|
||
if this option is set.
|
||
.TP
|
||
.B \fBpackageDescriptionFile\fP
|
||
The package description file given in
|
||
\fBCPACK_PACKAGE_DESCRIPTION_FILE\fP\&. Only present if this option is
|
||
set.
|
||
.TP
|
||
.B \fBpackageDescriptionSummary\fP
|
||
The package description summary given in
|
||
\fBCPACK_PACKAGE_DESCRIPTION_SUMMARY\fP\&. Only present if this option is
|
||
set.
|
||
.TP
|
||
.B \fBbuildConfig\fP
|
||
The build configuration given to CPack with the \fB\-C\fP option. Only present
|
||
if this option is set.
|
||
.TP
|
||
.B \fBdefaultDirectoryPermissions\fP
|
||
The default directory permissions given in
|
||
\fBCPACK_INSTALL_DEFAULT_DIRECTORY_PERMISSIONS\fP\&. Only present if this
|
||
option is set.
|
||
.TP
|
||
.B \fBsetDestdir\fP
|
||
True if \fBCPACK_SET_DESTDIR\fP is true, false if it is not.
|
||
.TP
|
||
.B \fBpackagingInstallPrefix\fP
|
||
The install prefix given in \fBCPACK_PACKAGING_INSTALL_PREFIX\fP\&. Only
|
||
present if \fBCPACK_SET_DESTDIR\fP is true.
|
||
.TP
|
||
.B \fBstripFiles\fP
|
||
True if \fBCPACK_STRIP_FILES\fP is true, false if it is not.
|
||
.TP
|
||
.B \fBwarnOnAbsoluteInstallDestination\fP
|
||
True if \fBCPACK_WARN_ON_ABSOLUTE_INSTALL_DESTINATION\fP is true, false
|
||
if it is not.
|
||
.TP
|
||
.B \fBerrorOnAbsoluteInstallDestination\fP
|
||
True if \fBCPACK_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION\fP is true,
|
||
false if it is not.
|
||
.UNINDENT
|
||
.SS Variables specific to CPack External generator
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_EXTERNAL_REQUESTED_VERSIONS
|
||
This variable is used to request a specific version of the CPack External
|
||
generator. It is a list of \fBmajor.minor\fP values, separated by semicolons.
|
||
.sp
|
||
If this variable is set to a non\-empty value, the CPack External generator
|
||
will iterate through each item in the list to search for a version that it
|
||
knows how to generate. Requested versions should be listed in order of
|
||
descending preference by the client software, as the first matching version
|
||
in the list will be generated.
|
||
.sp
|
||
The generator knows how to generate the version if it has a versioned
|
||
generator whose major version exactly matches the requested major version,
|
||
and whose minor version is greater than or equal to the requested minor
|
||
version. For example, if \fBCPACK_EXTERNAL_REQUESTED_VERSIONS\fP contains 1.0, and
|
||
the CPack External generator knows how to generate 1.1, it will generate 1.1.
|
||
If the generator doesn’t know how to generate a version in the list, it skips
|
||
the version and looks at the next one. If it doesn’t know how to generate any
|
||
of the requested versions, an error is thrown.
|
||
.sp
|
||
If this variable is not set, or is empty, the CPack External generator will
|
||
generate the highest major and minor version that it knows how to generate.
|
||
.sp
|
||
If an invalid version is encountered in \fBCPACK_EXTERNAL_REQUESTED_VERSIONS\fP (one
|
||
that doesn’t match \fBmajor.minor\fP, where \fBmajor\fP and \fBminor\fP are
|
||
integers), it is ignored.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_EXTERNAL_ENABLE_STAGING
|
||
This variable can be set to true to enable optional installation
|
||
into a temporary staging area which can then be picked up
|
||
and packaged by an external packaging tool.
|
||
The top level directory used by CPack for the current packaging
|
||
task is contained in \fBCPACK_TOPLEVEL_DIRECTORY\fP\&.
|
||
It is automatically cleaned up on each run before packaging is initiated
|
||
and can be used for custom temporary files required by
|
||
the external packaging tool.
|
||
It also contains the staging area \fBCPACK_TEMPORARY_DIRECTORY\fP
|
||
into which CPack performs the installation when staging is enabled.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_EXTERNAL_PACKAGE_SCRIPT
|
||
This variable can optionally specify the full path to
|
||
a CMake script file to be run as part of the CPack invocation.
|
||
It is invoked after (optional) staging took place and may
|
||
run an external packaging tool. The script has access to
|
||
the variables defined by the CPack config file.
|
||
.UNINDENT
|
||
.SS CPack FreeBSD Generator
|
||
.sp
|
||
The built in (binary) CPack FreeBSD (pkg) generator (Unix only)
|
||
.SS Variables affecting the CPack FreeBSD (pkg) generator
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
\fBCPACK_ARCHIVE_THREADS\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS Variables specific to CPack FreeBSD (pkg) generator
|
||
.sp
|
||
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 \fBCPack\fP\&.
|
||
.sp
|
||
The CPack FreeBSD generator is a \fBCPack\fP generator and uses the
|
||
\fBCPACK_XXX\fP variables used by \fBCPack\fP\&. It tries to re\-use packaging
|
||
information that may already be specified for Debian packages for the
|
||
\fBCPack DEB Generator\fP\&. It also tries to re\-use RPM packaging
|
||
information when Debian does not specify.
|
||
.sp
|
||
The CPack FreeBSD generator should work on any host with libpkg installed. The
|
||
packages it produces are specific to the host architecture and ABI.
|
||
.sp
|
||
The CPack FreeBSD generator sets package\-metadata through
|
||
\fBCPACK_FREEBSD_XXX\fP 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.
|
||
.sp
|
||
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).
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_FREEBSD_PACKAGE_NAME
|
||
Sets the package name (in the package manifest, but also affects the
|
||
output filename).
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory: YES
|
||
.IP \(bu 2
|
||
Default:
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
\fBCPACK_PACKAGE_NAME\fP (this is always set by CPack itself,
|
||
based on CMAKE_PROJECT_NAME).
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_FREEBSD_PACKAGE_COMMENT
|
||
Sets the package comment. This is the short description displayed by
|
||
pkg(8) in standard “pkg info” output.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory: YES
|
||
.IP \(bu 2
|
||
Default:
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
\fBCPACK_PACKAGE_DESCRIPTION_SUMMARY\fP (this is always set
|
||
by CPack itself, if nothing else sets it explicitly).
|
||
.IP \(bu 2
|
||
\fBPROJECT_DESCRIPTION\fP (this can be set with the DESCRIPTION
|
||
parameter for \fBproject()\fP).
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B 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.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory: YES
|
||
.IP \(bu 2
|
||
Default:
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
\fBCPACK_DEBIAN_PACKAGE_DESCRIPTION\fP (this may be set already
|
||
for Debian packaging, so we may as well re\-use it).
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B 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.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory: YES
|
||
.IP \(bu 2
|
||
Default:
|
||
.UNINDENT
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
\fBCMAKE_PROJECT_HOMEPAGE_URL\fP, or if that is not set,
|
||
\fBCPACK_DEBIAN_PACKAGE_HOMEPAGE\fP (this may be set already
|
||
for Debian packaging, so we may as well re\-use it).
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B 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”).
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory: YES
|
||
.IP \(bu 2
|
||
Default:
|
||
.INDENT 2.0
|
||
.IP \(bu 2
|
||
\fBCPACK_RPM_PACKAGE_LICENSE\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B 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.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory: NO
|
||
.IP \(bu 2
|
||
Default: single
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_FREEBSD_PACKAGE_MAINTAINER
|
||
The FreeBSD maintainer (e.g. \fI\%kde@freebsd.org\fP) of this package.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory: YES
|
||
.IP \(bu 2
|
||
Default: none
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B 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.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory: YES
|
||
.IP \(bu 2
|
||
Default: misc/<package name>
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B 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.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory: YES
|
||
.IP \(bu 2
|
||
Default: derived from ORIGIN
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B 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).
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory: NO
|
||
.IP \(bu 2
|
||
Default: empty
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS CPack IFW Generator
|
||
.sp
|
||
Configure and run the Qt Installer Framework to generate a Qt installer.
|
||
.SS Overview
|
||
.sp
|
||
This \fBcpack generator\fP generates
|
||
configuration and meta information for the \fI\%Qt Installer Framework\fP (QtIFW),
|
||
and runs QtIFW tools to generate a Qt installer.
|
||
.sp
|
||
QtIFW provides tools and utilities to create installers for
|
||
the platforms supported by \fI\%Qt\fP: Linux,
|
||
Microsoft Windows, and macOS.
|
||
.sp
|
||
To make use of this generator, QtIFW needs to be installed.
|
||
The \fBCPackIFW\fP module looks for the location of the
|
||
QtIFW command\-line utilities, and defines several commands to
|
||
control the behavior of this generator.
|
||
.SS Variables
|
||
.sp
|
||
You can use the following variables to change behavior of CPack \fBIFW\fP
|
||
generator.
|
||
.SS Debug
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_VERBOSE
|
||
Set to \fBON\fP to enable addition debug output.
|
||
By default is \fBOFF\fP\&.
|
||
.UNINDENT
|
||
.SS Package
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_TITLE
|
||
Name of the installer as displayed on the title bar.
|
||
By default used \fBCPACK_PACKAGE_DESCRIPTION_SUMMARY\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_PUBLISHER
|
||
Publisher of the software (as shown in the Windows Control Panel).
|
||
By default used \fBCPACK_PACKAGE_VENDOR\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PRODUCT_URL
|
||
URL to a page that contains product information on your web site.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_ICON
|
||
Filename for a custom installer icon. The actual file is ‘.icns’ (macOS),
|
||
‘.ico’ (Windows). No functionality on Unix.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_WINDOW_ICON
|
||
Filename for a custom window icon in PNG format for the Installer
|
||
application.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_LOGO
|
||
Filename for a logo is used as QWizard::LogoPixmap.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_WATERMARK
|
||
Filename for a watermark is used as QWizard::WatermarkPixmap.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_BANNER
|
||
Filename for a banner is used as QWizard::BannerPixmap.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_BACKGROUND
|
||
Filename for an image used as QWizard::BackgroundPixmap (only used by MacStyle).
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_WIZARD_STYLE
|
||
Wizard style to be used (“Modern”, “Mac”, “Aero” or “Classic”).
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_STYLE_SHEET
|
||
Filename for a stylesheet.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH
|
||
Default width of the wizard in pixels. Setting a banner image will override this.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_WIZARD_DEFAULT_HEIGHT
|
||
Default height of the wizard in pixels. Setting a watermark image will override this.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_TITLE_COLOR
|
||
Color of the titles and subtitles (takes an HTML color code, such as “#88FF33”).
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
|
||
Name of the default program group for the product in the Windows Start menu.
|
||
.sp
|
||
By default used \fI\%CPACK_IFW_PACKAGE_NAME\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_TARGET_DIRECTORY
|
||
Default target directory for installation.
|
||
By default used
|
||
“@ApplicationsDir@/\fBCPACK_PACKAGE_INSTALL_DIRECTORY\fP”
|
||
(variables embedded in ‘@’ are expanded by the
|
||
\fI\%QtIFW scripting engine\fP).
|
||
.sp
|
||
You can use predefined variables.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_ADMIN_TARGET_DIRECTORY
|
||
Default target directory for installation with administrator rights.
|
||
.sp
|
||
You can use predefined variables.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_GROUP
|
||
The group, which will be used to configure the root package
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_NAME
|
||
The root package name, which will be used if configuration group is not
|
||
specified
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
|
||
Filename of the generated maintenance tool.
|
||
The platform\-specific executable file extension is appended.
|
||
.sp
|
||
By default used QtIFW defaults (\fBmaintenancetool\fP).
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR
|
||
Set to \fBOFF\fP if the target directory should not be deleted when uninstalling.
|
||
.sp
|
||
Is \fBON\fP by default
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
|
||
Filename for the configuration of the generated maintenance tool.
|
||
.sp
|
||
By default used QtIFW defaults (\fBmaintenancetool.ini\fP).
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
|
||
Set to \fBON\fP if the installation path can contain non\-ASCII characters.
|
||
.sp
|
||
Is \fBON\fP for QtIFW less 2.0 tools.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
|
||
Set to \fBOFF\fP if the installation path cannot contain space characters.
|
||
.sp
|
||
Is \fBON\fP for QtIFW less 2.0 tools.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_CONTROL_SCRIPT
|
||
Filename for a custom installer control script.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_RESOURCES
|
||
List of additional resources (‘.qrc’ files) to include in the installer
|
||
binary.
|
||
.sp
|
||
You can use \fBcpack_ifw_add_package_resources()\fP command to resolve
|
||
relative paths.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGE_FILE_EXTENSION
|
||
The target binary extension.
|
||
.sp
|
||
On Linux, the name of the target binary is automatically extended with
|
||
‘.run’, if you do not specify the extension.
|
||
.sp
|
||
On Windows, the target is created as an application with the extension
|
||
‘.exe’, which is automatically added, if not supplied.
|
||
.sp
|
||
On Mac, the target is created as an DMG disk image with the extension
|
||
‘.dmg’, which is automatically added, if not supplied.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_REPOSITORIES_ALL
|
||
The list of remote repositories.
|
||
.sp
|
||
The default value of this variable is computed by CPack and contains
|
||
all repositories added with command \fBcpack_ifw_add_repository()\fP
|
||
or updated with command \fBcpack_ifw_update_repository()\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_DOWNLOAD_ALL
|
||
If this is \fBON\fP all components will be downloaded.
|
||
By default is \fBOFF\fP or used value
|
||
from \fBCPACK_DOWNLOAD_ALL\fP if set
|
||
.UNINDENT
|
||
.SS Components
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_RESOLVE_DUPLICATE_NAMES
|
||
Resolve duplicate names when installing components with groups.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_PACKAGES_DIRECTORIES
|
||
Additional prepared packages dirs that will be used to resolve
|
||
dependent components.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_REPOSITORIES_DIRECTORIES
|
||
Additional prepared repository dirs that will be used to resolve and
|
||
repack dependent components. This feature available only
|
||
since QtIFW 3.1.
|
||
.UNINDENT
|
||
.SS QtIFW Tools
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_FRAMEWORK_VERSION
|
||
The version of used QtIFW tools.
|
||
.UNINDENT
|
||
.sp
|
||
The following variables provide the locations of the QtIFW
|
||
command\-line tools as discovered by the module \fBCPackIFW\fP\&.
|
||
These variables are cached, and may be configured if needed.
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_BINARYCREATOR_EXECUTABLE
|
||
The path to \fBbinarycreator\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_REPOGEN_EXECUTABLE
|
||
The path to \fBrepogen\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_INSTALLERBASE_EXECUTABLE
|
||
The path to \fBinstallerbase\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_DEVTOOL_EXECUTABLE
|
||
The path to \fBdevtool\fP\&.
|
||
.UNINDENT
|
||
.SS Hints for Finding QtIFW
|
||
.sp
|
||
Generally, the CPack \fBIFW\fP generator automatically finds QtIFW tools,
|
||
but if you don’t use a default path for installation of the QtIFW tools,
|
||
the path may be specified in either a CMake or an environment variable:
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_IFW_ROOT
|
||
An CMake variable which specifies the location of the QtIFW tool suite.
|
||
.sp
|
||
The variable will be cached in the \fBCPackConfig.cmake\fP file and used at
|
||
CPack runtime.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B QTIFWDIR
|
||
An environment variable which specifies the location of the QtIFW tool
|
||
suite.
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
The specified path should not contain “bin” at the end
|
||
(for example: “D:\eDevTools\eQtIFW2.0.5”).
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
The \fI\%CPACK_IFW_ROOT\fP variable has a higher priority and overrides
|
||
the value of the \fI\%QTIFWDIR\fP variable.
|
||
.SS Other Settings
|
||
.SS Online installer
|
||
.sp
|
||
By default, this generator generates an \fIoffline installer\fP\&. This means that
|
||
that all packaged files are fully contained in the installer executable.
|
||
.sp
|
||
In contrast, an \fIonline installer\fP will download some or all components from
|
||
a remote server.
|
||
.sp
|
||
The \fBDOWNLOADED\fP option in the \fBcpack_add_component()\fP command
|
||
specifies that a component is to be downloaded. Alternatively, the \fBALL\fP
|
||
option in the \fBcpack_configure_downloads()\fP command specifies that
|
||
\fIall\fP components are to be be downloaded.
|
||
.sp
|
||
The \fBcpack_ifw_add_repository()\fP command and the
|
||
\fI\%CPACK_IFW_DOWNLOAD_ALL\fP variable allow for more specific
|
||
configuration.
|
||
.sp
|
||
When there are online components, CPack will write them to archive files.
|
||
The help page of the \fBCPackComponent\fP module, especially the section
|
||
on the \fBcpack_configure_downloads()\fP function, explains how to make
|
||
these files accessible from a download URL.
|
||
.SS Internationalization
|
||
.sp
|
||
Some variables and command arguments support internationalization via
|
||
CMake script. This is an optional feature.
|
||
.sp
|
||
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 the your components and groups
|
||
that will be distributed.
|
||
.sp
|
||
Localization of the description of your components and groups is useful for
|
||
users of your installers.
|
||
.sp
|
||
A localized variable or argument can contain a single default value, and a
|
||
set of pairs the name of the locale and the localized value.
|
||
.sp
|
||
For example:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
set(LOCALIZABLE_VARIABLE "Default value"
|
||
en "English value"
|
||
en_US "American value"
|
||
en_GB "Great Britain value"
|
||
)
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS See Also
|
||
.sp
|
||
Qt Installer Framework Manual:
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
Index page:
|
||
\fI\%http://doc.qt.io/qtinstallerframework/index.html\fP
|
||
.IP \(bu 2
|
||
Component Scripting:
|
||
\fI\%http://doc.qt.io/qtinstallerframework/scripting.html\fP
|
||
.IP \(bu 2
|
||
Predefined Variables:
|
||
\fI\%http://doc.qt.io/qtinstallerframework/scripting.html#predefined\-variables\fP
|
||
.IP \(bu 2
|
||
Promoting Updates:
|
||
\fI\%http://doc.qt.io/qtinstallerframework/ifw\-updates.html\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B Download Qt Installer Framework for your platform from Qt site:
|
||
\fI\%http://download.qt.io/official_releases/qt\-installer\-framework\fP
|
||
.UNINDENT
|
||
.SS CPack NSIS Generator
|
||
.sp
|
||
CPack Nullsoft Scriptable Install System (NSIS) generator specific options.
|
||
.sp
|
||
The NSIS generator requires NSIS 3.0 or newer.
|
||
.SS Variables specific to CPack NSIS generator
|
||
.sp
|
||
The following variables are specific to the graphical installers built
|
||
on Windows Nullsoft Scriptable Install System.
|
||
.INDENT 0.0
|
||
.TP
|
||
.B 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: \fB${CPACK_NSIS_INSTALL_ROOT}/${CPACK_PACKAGE_INSTALL_DIRECTORY}\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_MUI_ICON
|
||
An icon filename. The name of a \fB*.ico\fP file used as the main icon for the
|
||
generated install program.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_MUI_UNIICON
|
||
An icon filename. The name of a \fB*.ico\fP file used as the main icon for the
|
||
generated uninstall program.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_INSTALLER_MUI_ICON_CODE
|
||
undocumented.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP
|
||
The filename of a bitmap to use as the NSIS \fBMUI_WELCOMEFINISHPAGE_BITMAP\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP
|
||
The filename of a bitmap to use as the NSIS \fBMUI_UNWELCOMEFINISHPAGE_BITMAP\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B 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.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B 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.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B 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.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_COMPRESSOR
|
||
The arguments that will be passed to the NSIS \fISetCompressor\fP command.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL
|
||
Ask about uninstalling previous versions first. If this is set to \fBON\fP,
|
||
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.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_MODIFY_PATH
|
||
Modify \fBPATH\fP toggle. If this is set to \fBON\fP, 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 \fBPATH\fP variable.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_DISPLAY_NAME
|
||
The display name string that appears in the Windows \fIApps & features\fP
|
||
in \fIControl Panel\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_PACKAGE_NAME
|
||
The title displayed at the top of the installer.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_INSTALLED_ICON_NAME
|
||
A path to the executable that contains the installer icon.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_HELP_LINK
|
||
URL to a web site providing assistance in installing your application.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_URL_INFO_ABOUT
|
||
URL to a web site providing more information about your application.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_CONTACT
|
||
Contact information for questions and comments about the installation
|
||
process.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_<compName>_INSTALL_DIRECTORY
|
||
Custom install directory for the specified component \fB<compName>\fP instead
|
||
of \fB$INSTDIR\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_CREATE_ICONS_EXTRA
|
||
Additional NSIS commands for creating \fIStart Menu\fP shortcuts.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_DELETE_ICONS_EXTRA
|
||
Additional NSIS commands to uninstall \fIStart Menu\fP shortcuts.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_EXECUTABLES_DIRECTORY
|
||
Creating NSIS \fIStart Menu\fP links assumes that they are in \fBbin\fP unless this
|
||
variable is set. For example, you would set this to \fBexec\fP if your
|
||
executables are in an exec directory.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_MUI_FINISHPAGE_RUN
|
||
Specify an executable to add an option to run on the finish page of the
|
||
NSIS installer.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_MENU_LINKS
|
||
Specify links in \fB[application]\fP menu. This should contain a list of pair
|
||
\fBlink\fP \fBlink name\fP\&. The link may be a URL or a path relative to
|
||
installation prefix. Like:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
set(CPACK_NSIS_MENU_LINKS
|
||
"doc/cmake\-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html"
|
||
"CMake Help" "https://cmake.org" "CMake Web Site")
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_UNINSTALL_NAME
|
||
Specify the name of the program to uninstall the version.
|
||
Default is \fBUninstall\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_WELCOME_TITLE
|
||
The title to display on the top of the page for the welcome page.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_WELCOME_TITLE_3LINES
|
||
Display the title in the welcome page on 3 lines instead of 2.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_FINISH_TITLE
|
||
The title to display on the top of the page for the finish page.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_FINISH_TITLE_3LINES
|
||
Display the title in the finish page on 3 lines instead of 2.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_MUI_HEADERIMAGE
|
||
The image to display on the header of installers pages.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NSIS_MANIFEST_DPI_AWARE
|
||
If set, declares that the installer is DPI\-aware.
|
||
.UNINDENT
|
||
.SS CPack NuGet Generator
|
||
.sp
|
||
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 \fBCPACK_NUGET_PACKAGE_FILENAME\fP variable. To form the output filename
|
||
NuGet uses the package name and the version according to its built\-in rules.
|
||
.sp
|
||
Also, be aware that including a top level directory
|
||
(\fBCPACK_INCLUDE_TOPLEVEL_DIRECTORY\fP) is ignored by this generator.
|
||
.SS Variables specific to CPack NuGet generator
|
||
.sp
|
||
The CPack NuGet generator may be used to create NuGet packages using
|
||
\fBCPack\fP\&. The CPack NuGet generator is a \fBCPack\fP generator thus
|
||
it uses the \fBCPACK_XXX\fP variables used by \fBCPack\fP\&.
|
||
.sp
|
||
The CPack NuGet generator has specific features which are controlled by the
|
||
specifics \fBCPACK_NUGET_XXX\fP variables. In the “one per group” mode
|
||
(see \fBCPACK_COMPONENTS_GROUPING\fP), \fB<compName>\fP placeholder
|
||
in the variables below would contain a group name (uppercased and turned into
|
||
a “C” identifier).
|
||
.sp
|
||
List of CPack NuGet generator specific variables:
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_COMPONENT_INSTALL
|
||
Enable component packaging for CPack NuGet generator
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : OFF
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_NAME
|
||
.TP
|
||
.B CPACK_NUGET_<compName>_PACKAGE_NAME
|
||
The NUGET package name.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : \fBCPACK_PACKAGE_NAME\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_VERSION
|
||
.TP
|
||
.B CPACK_NUGET_<compName>_PACKAGE_VERSION
|
||
The NuGet package version.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : \fBCPACK_PACKAGE_VERSION\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_DESCRIPTION
|
||
.TP
|
||
.B CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION
|
||
A long description of the package for UI display.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
.INDENT 2.0
|
||
.TP
|
||
.B Default :
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
\fBCPACK_COMPONENT_<compName>_DESCRIPTION\fP,
|
||
.IP \(bu 2
|
||
\fBCPACK_COMPONENT_GROUP_<groupName>_DESCRIPTION\fP,
|
||
.IP \(bu 2
|
||
\fBCPACK_PACKAGE_DESCRIPTION\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_AUTHORS
|
||
.TP
|
||
.B CPACK_NUGET_<compName>_PACKAGE_AUTHORS
|
||
A comma\-separated list of packages authors, matching the profile names
|
||
on \fI\%nuget.org\fP\&. These are displayed in the NuGet Gallery on
|
||
\fI\%nuget.org\fP and are used to cross\-reference packages by the same
|
||
authors.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : \fBCPACK_PACKAGE_VENDOR\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_TITLE
|
||
.TP
|
||
.B CPACK_NUGET_<compName>_PACKAGE_TITLE
|
||
A human\-friendly title of the package, typically used in UI displays
|
||
as on \fI\%nuget.org\fP and the Package Manager in Visual Studio. If not
|
||
specified, the package ID is used.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
.INDENT 2.0
|
||
.TP
|
||
.B Default :
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
\fBCPACK_COMPONENT_<compName>_DISPLAY_NAME\fP,
|
||
.IP \(bu 2
|
||
\fBCPACK_COMPONENT_GROUP_<groupName>_DISPLAY_NAME\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_OWNERS
|
||
.TP
|
||
.B CPACK_NUGET_<compName>_PACKAGE_OWNERS
|
||
A comma\-separated list of the package creators using profile names
|
||
on \fI\%nuget.org\fP\&. This is often the same list as in authors,
|
||
and is ignored when uploading the package to \fI\%nuget.org\fP\&.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_HOMEPAGE_URL
|
||
.TP
|
||
.B CPACK_NUGET_<compName>_PACKAGE_HOMEPAGE_URL
|
||
A URL for the package’s home page, often shown in UI displays as well
|
||
as \fI\%nuget.org\fP\&.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \fBCPACK_PACKAGE_HOMEPAGE_URL\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_LICENSEURL
|
||
.TP
|
||
.B CPACK_NUGET_<compName>_PACKAGE_LICENSEURL
|
||
A URL for the package’s license, often shown in UI displays as well
|
||
as \fI\%nuget.org\fP\&.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_ICONURL
|
||
.TP
|
||
.B 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.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_DESCRIPTION_SUMMARY
|
||
.TP
|
||
.B CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION_SUMMARY
|
||
A short description of the package for UI display. If omitted, a
|
||
truncated version of description is used.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \fBCPACK_PACKAGE_DESCRIPTION_SUMMARY\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_RELEASE_NOTES
|
||
.TP
|
||
.B 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.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_COPYRIGHT
|
||
.TP
|
||
.B CPACK_NUGET_<compName>_PACKAGE_COPYRIGHT
|
||
Copyright details for the package.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_TAGS
|
||
.TP
|
||
.B 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.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_DEPENDENCIES
|
||
.TP
|
||
.B CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES
|
||
A list of package dependencies.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_DEPENDENCIES_<dependency>_VERSION
|
||
.TP
|
||
.B CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES_<dependency>_VERSION
|
||
A \fI\%version specification\fP for the particular dependency, where
|
||
\fB<dependency>\fP is an item of the dependency list (see above)
|
||
transformed with \fBMAKE_C_IDENTIFIER\fP function of \fBstring()\fP
|
||
command.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_NUGET_PACKAGE_DEBUG
|
||
Enable debug messages while executing CPack NuGet generator.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : OFF
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS CPack PackageMaker Generator
|
||
.sp
|
||
PackageMaker CPack generator (macOS).
|
||
.sp
|
||
Deprecated since version 3.17: Xcode no longer distributes the PackageMaker tools.
|
||
This CPack generator will be removed in a future version of CPack.
|
||
|
||
.SS Variables specific to CPack PackageMaker generator
|
||
.sp
|
||
The following variable is specific to installers built on Mac
|
||
macOS using PackageMaker:
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_OSX_PACKAGE_VERSION
|
||
The version of macOS that the resulting PackageMaker archive should be
|
||
compatible with. Different versions of macOS support different
|
||
features. For example, CPack can only build component\-based installers for
|
||
macOS 10.4 or newer, and can only build installers that download
|
||
components on\-the\-fly for macOS 10.5 or newer. If left blank, this value
|
||
will be set to the minimum version of macOS that supports the requested
|
||
features. Set this variable to some value (e.g., 10.4) only if you want to
|
||
guarantee that your installer will work on that version of macOS, and
|
||
don’t mind missing extra features available in the installer shipping with
|
||
later versions of macOS.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PACKAGEMAKER_BACKGROUND
|
||
Adds a background to Distribtion XML if specified. The value contains the
|
||
path to image in \fBResources\fP directory.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PACKAGEMAKER_BACKGROUND_ALIGNMENT
|
||
Adds an \fBalignment\fP attribute to the background in Distribution XML.
|
||
Refer to Apple documentation for valid values.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PACKAGEMAKER_BACKGROUND_SCALING
|
||
Adds a \fBscaling\fP attribute to the background in Distribution XML.
|
||
Refer to Apple documentation for valid values.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PACKAGEMAKER_BACKGROUND_MIME_TYPE
|
||
Adds a \fBmime\-type\fP attribute to the background in Distribution XML.
|
||
The option contains MIME type of an image.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PACKAGEMAKER_BACKGROUND_UTI
|
||
Adds an \fButi\fP attribute to the background in Distribution XML.
|
||
The option contains UTI type of an image.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA
|
||
Adds a background for the Dark Aqua theme to Distribution XML if
|
||
specified. The value contains the path to image in \fBResources\fP
|
||
directory.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA_ALIGNMENT
|
||
Does the same as \fI\%CPACK_PACKAGEMAKER_BACKGROUND_ALIGNMENT\fP option,
|
||
but for the dark theme.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA_SCALING
|
||
Does the same as \fI\%CPACK_PACKAGEMAKER_BACKGROUND_SCALING\fP option,
|
||
but for the dark theme.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA_MIME_TYPE
|
||
Does the same as \fI\%CPACK_PACKAGEMAKER_BACKGROUND_MIME_TYPE\fP option,
|
||
but for the dark theme.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PACKAGEMAKER_BACKGROUND_DARKAQUA_UTI
|
||
Does the same as \fI\%CPACK_PACKAGEMAKER_BACKGROUND_UTI\fP option,
|
||
but for the dark theme.
|
||
.UNINDENT
|
||
.SS CPack productbuild Generator
|
||
.sp
|
||
productbuild CPack generator (macOS).
|
||
.SS Variables specific to CPack productbuild generator
|
||
.sp
|
||
The following variable is specific to installers built on Mac
|
||
macOS using ProductBuild:
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_COMMAND_PRODUCTBUILD
|
||
Path to the \fBproductbuild(1)\fP 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).
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PRODUCTBUILD_IDENTITY_NAME
|
||
Adds a digital signature to the resulting package.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PRODUCTBUILD_KEYCHAIN_PATH
|
||
Specify a specific keychain to search for the signing identity.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_COMMAND_PKGBUILD
|
||
Path to the \fBpkgbuild(1)\fP 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).
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PKGBUILD_IDENTITY_NAME
|
||
Adds a digital signature to the resulting package.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PKGBUILD_KEYCHAIN_PATH
|
||
Specify a specific keychain to search for the signing identity.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PREFLIGHT_<COMP>_SCRIPT
|
||
Full path to a file that will be used as the \fBpreinstall\fP script for the
|
||
named \fB<COMP>\fP component’s package, where \fB<COMP>\fP is the uppercased
|
||
component name. No \fBpreinstall\fP script is added if this variable is not
|
||
defined for a given component.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_POSTFLIGHT_<COMP>_SCRIPT
|
||
Full path to a file that will be used as the \fBpostinstall\fP script for the
|
||
named \fB<COMP>\fP component’s package, where \fB<COMP>\fP is the uppercased
|
||
component name. No \fBpostinstall\fP script is added if this variable is not
|
||
defined for a given component.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PRODUCTBUILD_RESOURCES_DIR
|
||
If specified the productbuild generator copies files from this directory
|
||
(including subdirectories) to the \fBResources\fP directory. This is done
|
||
before the \fBCPACK_RESOURCE_FILE_WELCOME\fP,
|
||
\fBCPACK_RESOURCE_FILE_README\fP, and
|
||
\fBCPACK_RESOURCE_FILE_LICENSE\fP files are copied.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PRODUCTBUILD_BACKGROUND
|
||
Adds a background to Distribtion XML if specified. The value contains the
|
||
path to image in \fBResources\fP directory.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PRODUCTBUILD_BACKGROUND_ALIGNMENT
|
||
Adds an \fBalignment\fP attribute to the background in Distribution XML.
|
||
Refer to Apple documentation for valid values.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PRODUCTBUILD_BACKGROUND_SCALING
|
||
Adds a \fBscaling\fP attribute to the background in Distribution XML.
|
||
Refer to Apple documentation for valid values.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PRODUCTBUILD_BACKGROUND_MIME_TYPE
|
||
Adds a \fBmime\-type\fP attribute to the background in Distribution XML.
|
||
The option contains MIME type of an image.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PRODUCTBUILD_BACKGROUND_UTI
|
||
Adds an \fButi\fP attribute to the background in Distribution XML.
|
||
The option contains UTI type of an image.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B 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 \fBResources\fP
|
||
directory.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_ALIGNMENT
|
||
Does the same as \fI\%CPACK_PRODUCTBUILD_BACKGROUND_ALIGNMENT\fP option,
|
||
but for the dark theme.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_SCALING
|
||
Does the same as \fI\%CPACK_PRODUCTBUILD_BACKGROUND_SCALING\fP option,
|
||
but for the dark theme.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_MIME_TYPE
|
||
Does the same as \fI\%CPACK_PRODUCTBUILD_BACKGROUND_MIME_TYPE\fP option,
|
||
but for the dark theme.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_PRODUCTBUILD_BACKGROUND_DARKAQUA_UTI
|
||
Does the same as \fI\%CPACK_PRODUCTBUILD_BACKGROUND_UTI\fP option,
|
||
but for the dark theme.
|
||
.UNINDENT
|
||
.SS CPack RPM Generator
|
||
.sp
|
||
The built in (binary) CPack RPM generator (Unix only)
|
||
.SS Variables specific to CPack RPM generator
|
||
.sp
|
||
The CPack RPM generator may be used to create RPM packages using \fBCPack\fP\&.
|
||
The CPack RPM generator is a \fBCPack\fP generator thus it uses the
|
||
\fBCPACK_XXX\fP variables used by \fBCPack\fP\&.
|
||
.sp
|
||
The CPack RPM generator has specific features which are controlled by the specifics
|
||
\fBCPACK_RPM_XXX\fP variables.
|
||
.sp
|
||
\fBCPACK_RPM_<COMPONENT>_XXXX\fP variables may be used in order to have
|
||
\fBcomponent\fP specific values. Note however that \fB<COMPONENT>\fP refers to the
|
||
\fBgrouping name\fP written in upper case. It may be either a component name or
|
||
a component GROUP name. Usually those variables correspond to RPM spec file
|
||
entities. One may find information about spec files here
|
||
\fI\%http://www.rpm.org/wiki/Docs\fP
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
\fI<COMPONENT>\fP part of variables is preferred to be in upper case (e.g. if
|
||
component is named \fBfoo\fP then use \fBCPACK_RPM_FOO_XXXX\fP variable name format)
|
||
as is with other \fBCPACK_<COMPONENT>_XXXX\fP variables.
|
||
For the purposes of back compatibility (CMake/CPack version 3.5 and lower)
|
||
support for same cased component (e.g. \fBfOo\fP would be used as
|
||
\fBCPACK_RPM_fOo_XXXX\fP) is still supported for variables defined in older
|
||
versions of CMake/CPack but is not guaranteed for variables that
|
||
will be added in the future. For the sake of back compatibility same cased
|
||
component variables also override upper cased versions where both are
|
||
present.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
Here are some CPack RPM generator wiki resources that are here for historic
|
||
reasons and are no longer maintained but may still prove useful:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
\fI\%https://gitlab.kitware.com/cmake/community/\-/wikis/doc/cpack/Configuration\fP
|
||
.IP \(bu 2
|
||
\fI\%https://gitlab.kitware.com/cmake/community/\-/wikis/doc/cpack/PackageGenerators#rpm\-unix\-only\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
List of CPack RPM generator specific variables:
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_COMPONENT_INSTALL
|
||
Enable component packaging for CPack RPM generator
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : OFF
|
||
.UNINDENT
|
||
.sp
|
||
If enabled (\fBON\fP) multiple packages are generated. By default
|
||
a single package containing files of all components is generated.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_SUMMARY
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_SUMMARY
|
||
The RPM package summary.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : \fBCPACK_PACKAGE_DESCRIPTION_SUMMARY\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_NAME
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_NAME
|
||
The RPM package name.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : \fBCPACK_PACKAGE_NAME\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_FILE_NAME
|
||
.TP
|
||
.B CPACK_RPM_<component>_FILE_NAME
|
||
Package file name.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
.INDENT 2.0
|
||
.TP
|
||
.B Default
|
||
\fB<CPACK_PACKAGE_FILE_NAME>[\-<component>].rpm\fP with spaces
|
||
replaced by ‘\-‘
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
This may be set to \fBRPM\-DEFAULT\fP to allow \fBrpmbuild\fP tool to generate package
|
||
file name by itself.
|
||
Alternatively provided package file name must end with \fB\&.rpm\fP suffix.
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
By using user provided spec file, rpm macro extensions such as for
|
||
generating \fBdebuginfo\fP packages or by simply using multiple components more
|
||
than one rpm file may be generated, either from a single spec file or from
|
||
multiple spec files (each component execution produces its own spec file).
|
||
In such cases duplicate file names may occur as a result of this variable
|
||
setting or spec file content structure. Duplicate files get overwritten
|
||
and it is up to the packager to set the variables in a manner that will
|
||
prevent such errors.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_MAIN_COMPONENT
|
||
Main component that is packaged without component suffix.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
This variable can be set to any component or group name so that component or
|
||
group rpm package is generated without component suffix in filename and
|
||
package name.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_EPOCH
|
||
The RPM package epoch
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : No
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
Optional number that should be incremented when changing versioning schemas
|
||
or fixing mistakes in the version numbers of older packages.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_VERSION
|
||
The RPM package version.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : \fBCPACK_PACKAGE_VERSION\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_ARCHITECTURE
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_ARCHITECTURE
|
||
The RPM package architecture.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : Native architecture output by \fBuname \-m\fP
|
||
.UNINDENT
|
||
.sp
|
||
This may be set to \fBnoarch\fP if you know you are building a \fBnoarch\fP package.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_RELEASE
|
||
The RPM package release.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : 1
|
||
.UNINDENT
|
||
.sp
|
||
This is the numbering of the RPM package itself, i.e. the version of the
|
||
packaging and not the version of the content (see
|
||
\fI\%CPACK_RPM_PACKAGE_VERSION\fP). One may change the default value if
|
||
the previous packaging was buggy and/or you want to put here a fancy Linux
|
||
distro specific numbering.
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
This is the string that goes into the RPM \fBRelease:\fP field. Some distros
|
||
(e.g. Fedora, CentOS) require \fB1%{?dist}\fP format and not just a number.
|
||
\fB%{?dist}\fP part can be added by setting \fI\%CPACK_RPM_PACKAGE_RELEASE_DIST\fP\&.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_RELEASE_DIST
|
||
The dist tag that is added RPM \fBRelease:\fP field.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : OFF
|
||
.UNINDENT
|
||
.sp
|
||
This is the reported \fB%{dist}\fP tag from the current distribution or empty
|
||
\fB%{dist}\fP if RPM macro is not set. If this variable is set then RPM
|
||
\fBRelease:\fP field value is set to \fB${CPACK_RPM_PACKAGE_RELEASE}%{?dist}\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_LICENSE
|
||
The RPM package license policy.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : “unknown”
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_GROUP
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_GROUP
|
||
The RPM package group.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : “unknown”
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_VENDOR
|
||
The RPM package vendor.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : CPACK_PACKAGE_VENDOR if set or “unknown”
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_URL
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_URL
|
||
The projects URL.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \fBCMAKE_PROJECT_HOMEPAGE_URL\fP
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_DESCRIPTION
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_DESCRIPTION
|
||
RPM package description.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : \fBCPACK_COMPONENT_<compName>_DESCRIPTION\fP (component
|
||
based installers only) if set, \fBCPACK_PACKAGE_DESCRIPTION_FILE\fP
|
||
if set or “no package description available”
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_COMPRESSION_TYPE
|
||
RPM compression type.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to override RPM compression type to be used to build the
|
||
RPM. For example some Linux distribution now default to \fBlzma\fP or \fBxz\fP
|
||
compression whereas older cannot use such RPM. Using this one can enforce
|
||
compression type to be used.
|
||
.sp
|
||
Possible values are:
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
lzma
|
||
.IP \(bu 2
|
||
xz
|
||
.IP \(bu 2
|
||
bzip2
|
||
.IP \(bu 2
|
||
gzip
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_AUTOREQ
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_AUTOREQ
|
||
RPM spec autoreq field.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to enable (\fB1\fP, \fByes\fP) or disable (\fB0\fP, \fBno\fP) automatic
|
||
shared libraries dependency detection. Dependencies are added to requires list.
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
By default automatic dependency detection is enabled by rpm generator.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_AUTOPROV
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_AUTOPROV
|
||
RPM spec autoprov field.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to enable (\fB1\fP, \fByes\fP) or disable (\fB0\fP, \fBno\fP)
|
||
automatic listing of shared libraries that are provided by the package.
|
||
Shared libraries are added to provides list.
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
By default automatic provides detection is enabled by rpm generator.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_AUTOREQPROV
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_AUTOREQPROV
|
||
RPM spec autoreqprov field.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
Variable enables/disables autoreq and autoprov at the same time.
|
||
See \fI\%CPACK_RPM_PACKAGE_AUTOREQ\fP and
|
||
\fI\%CPACK_RPM_PACKAGE_AUTOPROV\fP for more details.
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
By default automatic detection feature is enabled by rpm.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_REQUIRES
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_REQUIRES
|
||
RPM spec requires field.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to set RPM dependencies (requires). Note that you must enclose
|
||
the complete requires string between quotes, for example:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
set(CPACK_RPM_PACKAGE_REQUIRES "python >= 2.5.0, cmake >= 2.8")
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
The required package list of an RPM file could be printed with:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
rpm \-qp \-\-requires file.rpm
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_CONFLICTS
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_CONFLICTS
|
||
RPM spec conflicts field.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to set negative RPM dependencies (conflicts). Note that you must
|
||
enclose the complete requires string between quotes, for example:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
set(CPACK_RPM_PACKAGE_CONFLICTS "libxml2")
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
The conflicting package list of an RPM file could be printed with:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
rpm \-qp \-\-conflicts file.rpm
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_REQUIRES_PRE
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_REQUIRES_PRE
|
||
RPM spec requires(pre) field.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to set RPM preinstall dependencies (requires(pre)). Note that
|
||
you must enclose the complete requires string between quotes, for example:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
set(CPACK_RPM_PACKAGE_REQUIRES_PRE "shadow\-utils, initscripts")
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_REQUIRES_POST
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_REQUIRES_POST
|
||
RPM spec requires(post) field.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to set RPM postinstall dependencies (requires(post)). Note that
|
||
you must enclose the complete requires string between quotes, for example:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
set(CPACK_RPM_PACKAGE_REQUIRES_POST "shadow\-utils, initscripts")
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_REQUIRES_POSTUN
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_REQUIRES_POSTUN
|
||
RPM spec requires(postun) field.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to set RPM postuninstall dependencies (requires(postun)). Note
|
||
that you must enclose the complete requires string between quotes, for
|
||
example:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
set(CPACK_RPM_PACKAGE_REQUIRES_POSTUN "shadow\-utils, initscripts")
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_REQUIRES_PREUN
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_REQUIRES_PREUN
|
||
RPM spec requires(preun) field.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to set RPM preuninstall dependencies (requires(preun)). Note that
|
||
you must enclose the complete requires string between quotes, for example:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
set(CPACK_RPM_PACKAGE_REQUIRES_PREUN "shadow\-utils, initscripts")
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_SUGGESTS
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_SUGGESTS
|
||
RPM spec suggest field.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to set weak RPM dependencies (suggests). Note that you must
|
||
enclose the complete requires string between quotes.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_PROVIDES
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_PROVIDES
|
||
RPM spec provides field.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to set RPM dependencies (provides). The provided package list
|
||
of an RPM file could be printed with:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
rpm \-qp \-\-provides file.rpm
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_OBSOLETES
|
||
.TP
|
||
.B CPACK_RPM_<component>_PACKAGE_OBSOLETES
|
||
RPM spec obsoletes field.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to set RPM packages that are obsoleted by this one.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_RELOCATABLE
|
||
build a relocatable RPM.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : CPACK_PACKAGE_RELOCATABLE
|
||
.UNINDENT
|
||
.sp
|
||
If this variable is set to TRUE or ON, the CPack RPM generator will try
|
||
to build a relocatable RPM package. A relocatable RPM may
|
||
be installed using:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
rpm \-\-prefix or \-\-relocate
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
in order to install it at an alternate place see rpm(8). Note that
|
||
currently this may fail if \fBCPACK_SET_DESTDIR\fP is set to \fBON\fP\&. If
|
||
\fBCPACK_SET_DESTDIR\fP is set then you will get a warning message but
|
||
if there is file installed with absolute path you’ll get unexpected behavior.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_SPEC_INSTALL_POST
|
||
Deprecated \- use \fI\%CPACK_RPM_SPEC_MORE_DEFINE\fP instead.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.IP \(bu 2
|
||
Deprecated: YES
|
||
.UNINDENT
|
||
.sp
|
||
May be used to override the \fB__spec_install_post\fP section within the
|
||
generated spec file. This affects the install step during package creation,
|
||
not during package installation. For adding operations to be performed
|
||
during package installation, use
|
||
\fI\%CPACK_RPM_POST_INSTALL_SCRIPT_FILE\fP instead.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_SPEC_MORE_DEFINE
|
||
RPM extended spec definitions lines.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to add any \fB%define\fP lines to the generated spec file. An
|
||
example of its use is to prevent stripping of executables (but note that
|
||
this may also disable other default post install processing):
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
set(CPACK_RPM_SPEC_MORE_DEFINE "%define __spec_install_post /bin/true")
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_DEBUG
|
||
Toggle CPack RPM generator debug output.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be set when invoking cpack in order to trace debug information
|
||
during CPack RPM run. For example you may launch CPack like this:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
cpack \-D CPACK_RPM_PACKAGE_DEBUG=1 \-G RPM
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_USER_BINARY_SPECFILE
|
||
.TP
|
||
.B CPACK_RPM_<componentName>_USER_BINARY_SPECFILE
|
||
A user provided spec file.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be set by the user in order to specify a USER binary spec file
|
||
to be used by the CPack RPM generator instead of generating the file.
|
||
The specified file will be processed by configure_file( @ONLY).
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
|
||
Spec file template.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
If set CPack will generate a template for USER specified binary
|
||
spec file and stop with an error. For example launch CPack like this:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
cpack \-D CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE=1 \-G RPM
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
The user may then use this file in order to hand\-craft is own
|
||
binary spec file which may be used with
|
||
\fI\%CPACK_RPM_USER_BINARY_SPECFILE\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PRE_INSTALL_SCRIPT_FILE
|
||
.TP
|
||
.B CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE
|
||
.TP
|
||
.B CPACK_RPM_PRE_TRANS_SCRIPT_FILE
|
||
Path to file containing pre install/uninstall/transaction script.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to embed a pre installation/uninstallation/transaction script in the spec file.
|
||
The referred script file (or both) will be read and directly
|
||
put after the \fB%pre\fP or \fB%preun\fP section
|
||
If \fI\%CPACK_RPM_COMPONENT_INSTALL\fP is set to ON the install/uninstall/transaction
|
||
script for each component can be overridden with
|
||
\fBCPACK_RPM_<COMPONENT>_PRE_INSTALL_SCRIPT_FILE\fP,
|
||
\fBCPACK_RPM_<COMPONENT>_PRE_UNINSTALL_SCRIPT_FILE\fP, and
|
||
\fBCPACK_RPM_<COMPONENT>_PRE_TRANS_SCRIPT_FILE\fP
|
||
One may verify which scriptlet has been included with:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
rpm \-qp \-\-scripts package.rpm
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_POST_INSTALL_SCRIPT_FILE
|
||
.TP
|
||
.B CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE
|
||
.TP
|
||
.B CPACK_RPM_POST_TRANS_SCRIPT_FILE
|
||
Path to file containing post install/uninstall/transaction script.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to embed a post installation/uninstallation/transaction script in the spec file.
|
||
The referred script file (or both) will be read and directly
|
||
put after the \fB%post\fP or \fB%postun\fP section.
|
||
If \fI\%CPACK_RPM_COMPONENT_INSTALL\fP is set to ON the install/uninstall/transaction
|
||
script for each component can be overridden with
|
||
\fBCPACK_RPM_<COMPONENT>_POST_INSTALL_SCRIPT_FILE\fP,
|
||
\fBCPACK_RPM_<COMPONENT>_POST_UNINSTALL_SCRIPT_FILE\fP, and
|
||
\fBCPACK_RPM_<COMPONENT>_POST_TRANS_SCRIPT_FILE\fP
|
||
One may verify which scriptlet has been included with:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
rpm \-qp \-\-scripts package.rpm
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_USER_FILELIST
|
||
.TP
|
||
.B CPACK_RPM_<COMPONENT>_USER_FILELIST
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to explicitly specify \fB%(<directive>)\fP file line
|
||
in the spec file. Like \fB%config(noreplace)\fP or any other directive
|
||
that be found in the \fB%files\fP section. You can have multiple directives
|
||
per line, as in \fB%attr(600,root,root) %config(noreplace)\fP\&. Since
|
||
the CPack RPM generator is generating the list of files (and directories) the
|
||
user specified files of the \fBCPACK_RPM_<COMPONENT>_USER_FILELIST\fP list will
|
||
be removed from the generated list. If referring to directories do
|
||
not add a trailing slash.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_CHANGELOG_FILE
|
||
RPM changelog file.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to embed a changelog in the spec file.
|
||
The referred file will be read and directly put after the \fB%changelog\fP
|
||
section.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST
|
||
list of path to be excluded.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
.INDENT 2.0
|
||
.TP
|
||
.B Default
|
||
/etc /etc/init.d /usr /usr/bin /usr/include /usr/lib
|
||
/usr/libx32 /usr/lib64 /usr/share /usr/share/aclocal
|
||
/usr/share/doc
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
May be used to exclude path (directories or files) from the auto\-generated
|
||
list of paths discovered by CPack RPM. The default value contains a
|
||
reasonable set of values if the variable is not defined by the user. If the
|
||
variable is defined by the user then the CPack RPM generator will NOT any of
|
||
the default path. If you want to add some path to the default list then you
|
||
can use \fI\%CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION\fP variable.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
|
||
additional list of path to be excluded.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to add more exclude path (directories or files) from the initial
|
||
default list of excluded paths. See
|
||
\fI\%CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_RELOCATION_PATHS
|
||
Packages relocation paths list.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to specify more than one relocation path per relocatable RPM.
|
||
Variable contains a list of relocation paths that if relative are prefixed
|
||
by the value of \fI\%CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX\fP or by the
|
||
value of \fBCPACK_PACKAGING_INSTALL_PREFIX\fP if the component version
|
||
is not provided.
|
||
Variable is not component based as its content can be used to set a different
|
||
path prefix for e.g. binary dir and documentation dir at the same time.
|
||
Only prefixes that are required by a certain component are added to that
|
||
component \- component must contain at least one file/directory/symbolic link
|
||
with \fI\%CPACK_RPM_RELOCATION_PATHS\fP prefix for a certain relocation
|
||
path to be added. Package will not contain any relocation paths if there are
|
||
no files/directories/symbolic links on any of the provided prefix locations.
|
||
Packages that either do not contain any relocation paths or contain
|
||
files/directories/symbolic links that are outside relocation paths print
|
||
out an \fBAUTHOR_WARNING\fP that RPM will be partially relocatable.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
|
||
Per component relocation path install prefix.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : CPACK_PACKAGING_INSTALL_PREFIX
|
||
.UNINDENT
|
||
.sp
|
||
May be used to set per component \fBCPACK_PACKAGING_INSTALL_PREFIX\fP
|
||
for relocatable RPM packages.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION
|
||
.TP
|
||
.B CPACK_RPM_NO_<COMPONENT>_INSTALL_PREFIX_RELOCATION
|
||
Removal of default install prefix from relocation paths list.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
.INDENT 2.0
|
||
.TP
|
||
.B Default
|
||
CPACK_PACKAGING_INSTALL_PREFIX or CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
|
||
are treated as one of relocation paths
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
May be used to remove CPACK_PACKAGING_INSTALL_PREFIX and CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
|
||
from relocatable RPM prefix paths.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_ADDITIONAL_MAN_DIRS
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to set additional man dirs that could potentially be compressed
|
||
by brp\-compress RPM macro. Variable content must be a list of regular
|
||
expressions that point to directories containing man files or to man files
|
||
directly. Note that in order to compress man pages a path must also be
|
||
present in brp\-compress RPM script and that brp\-compress script must be
|
||
added to RPM configuration by the operating system.
|
||
.sp
|
||
Regular expressions that are added by default were taken from brp\-compress
|
||
RPM macro:
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
/usr/man/man.*
|
||
.IP \(bu 2
|
||
/usr/man/.*/man.*
|
||
.IP \(bu 2
|
||
/usr/info.*
|
||
.IP \(bu 2
|
||
/usr/share/man/man.*
|
||
.IP \(bu 2
|
||
/usr/share/man/.*/man.*
|
||
.IP \(bu 2
|
||
/usr/share/info.*
|
||
.IP \(bu 2
|
||
/usr/kerberos/man.*
|
||
.IP \(bu 2
|
||
/usr/X11R6/man/man.*
|
||
.IP \(bu 2
|
||
/usr/lib/perl5/man/man.*
|
||
.IP \(bu 2
|
||
/usr/share/doc/.*/man/man.*
|
||
.IP \(bu 2
|
||
/usr/lib/.*/man/man.*
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_DEFAULT_USER
|
||
.TP
|
||
.B CPACK_RPM_<compName>_DEFAULT_USER
|
||
default user ownership of RPM content
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : root
|
||
.UNINDENT
|
||
.sp
|
||
Value should be user name and not UID.
|
||
Note that <compName> must be in upper\-case.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_DEFAULT_GROUP
|
||
.TP
|
||
.B CPACK_RPM_<compName>_DEFAULT_GROUP
|
||
default group ownership of RPM content
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : root
|
||
.UNINDENT
|
||
.sp
|
||
Value should be group name and not GID.
|
||
Note that <compName> must be in upper\-case.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_DEFAULT_FILE_PERMISSIONS
|
||
.TP
|
||
.B CPACK_RPM_<compName>_DEFAULT_FILE_PERMISSIONS
|
||
default permissions used for packaged files
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \- (system default)
|
||
.UNINDENT
|
||
.sp
|
||
Accepted values are lists with \fBPERMISSIONS\fP\&. Valid permissions
|
||
are:
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
OWNER_READ
|
||
.IP \(bu 2
|
||
OWNER_WRITE
|
||
.IP \(bu 2
|
||
OWNER_EXECUTE
|
||
.IP \(bu 2
|
||
GROUP_READ
|
||
.IP \(bu 2
|
||
GROUP_WRITE
|
||
.IP \(bu 2
|
||
GROUP_EXECUTE
|
||
.IP \(bu 2
|
||
WORLD_READ
|
||
.IP \(bu 2
|
||
WORLD_WRITE
|
||
.IP \(bu 2
|
||
WORLD_EXECUTE
|
||
.UNINDENT
|
||
.sp
|
||
Note that <compName> must be in upper\-case.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_DEFAULT_DIR_PERMISSIONS
|
||
.TP
|
||
.B CPACK_RPM_<compName>_DEFAULT_DIR_PERMISSIONS
|
||
default permissions used for packaged directories
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \- (system default)
|
||
.UNINDENT
|
||
.sp
|
||
Accepted values are lists with PERMISSIONS. Valid permissions
|
||
are the same as for \fI\%CPACK_RPM_DEFAULT_FILE_PERMISSIONS\fP\&.
|
||
Note that <compName> must be in upper\-case.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_INSTALL_WITH_EXEC
|
||
force execute permissions on programs and shared libraries
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \- (system default)
|
||
.UNINDENT
|
||
.sp
|
||
Force set owner, group and world execute permissions on programs and shared
|
||
libraries. This can be used for creating valid rpm packages on systems such
|
||
as Debian where shared libraries do not have execute permissions set.
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
Programs and shared libraries without execute permissions are ignored during
|
||
separation of debug symbols from the binary for debuginfo packages.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS Packaging of Symbolic Links
|
||
.sp
|
||
The CPack RPM generator supports packaging of symbolic links:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
execute_process(COMMAND ${CMAKE_COMMAND}
|
||
\-E create_symlink <relative_path_location> <symlink_name>)
|
||
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/<symlink_name>
|
||
DESTINATION <symlink_location> COMPONENT libraries)
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
Symbolic links will be optimized (paths will be shortened if possible)
|
||
before being added to the package or if multiple relocation paths are
|
||
detected, a post install symlink relocation script will be generated.
|
||
.sp
|
||
Symbolic links may point to locations that are not packaged by the same
|
||
package (either a different component or even not packaged at all) but
|
||
those locations will be treated as if they were a part of the package
|
||
while determining if symlink should be either created or present in a
|
||
post install script \- depending on relocation paths.
|
||
.sp
|
||
Symbolic links that point to locations outside packaging path produce a
|
||
warning and are treated as non relocatable permanent symbolic links.
|
||
.sp
|
||
Currently there are a few limitations though:
|
||
.INDENT 0.0
|
||
.IP \(bu 2
|
||
For component based packaging component interdependency is not checked
|
||
when processing symbolic links. Symbolic links pointing to content of
|
||
a different component are treated the same way as if pointing to location
|
||
that will not be packaged.
|
||
.IP \(bu 2
|
||
Symbolic links pointing to a location through one or more intermediate
|
||
symbolic links will not be handled differently \- if the intermediate
|
||
symbolic link(s) is also on a relocatable path, relocating it during
|
||
package installation may cause initial symbolic link to point to an
|
||
invalid location.
|
||
.UNINDENT
|
||
.SS Packaging of debug information
|
||
.sp
|
||
Debuginfo packages contain debug symbols and sources for debugging packaged
|
||
binaries.
|
||
.sp
|
||
Debuginfo RPM packaging has its own set of variables:
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_DEBUGINFO_PACKAGE
|
||
.TP
|
||
.B CPACK_RPM_<component>_DEBUGINFO_PACKAGE
|
||
Enable generation of debuginfo RPM package(s).
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : OFF
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
Binaries must contain debug symbols before packaging so use either \fBDebug\fP
|
||
or \fBRelWithDebInfo\fP for \fBCMAKE_BUILD_TYPE\fP variable value.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
Packages generated from packages without binary files, with binary files but
|
||
without execute permissions or without debug symbols will cause packaging
|
||
termination.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_BUILD_SOURCE_DIRS
|
||
Provides locations of root directories of source files from which binaries
|
||
were built.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES if \fI\%CPACK_RPM_DEBUGINFO_PACKAGE\fP is set
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
For CMake project \fI\%CPACK_BUILD_SOURCE_DIRS\fP is set by default to
|
||
point to \fBCMAKE_SOURCE_DIR\fP and \fBCMAKE_BINARY_DIR\fP paths.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
Sources with path prefixes that do not fall under any location provided with
|
||
\fI\%CPACK_BUILD_SOURCE_DIRS\fP will not be present in debuginfo package.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX
|
||
.TP
|
||
.B CPACK_RPM_<component>_BUILD_SOURCE_DIRS_PREFIX
|
||
Prefix of location where sources will be placed during package installation.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES if \fI\%CPACK_RPM_DEBUGINFO_PACKAGE\fP is set
|
||
.IP \(bu 2
|
||
.INDENT 2.0
|
||
.TP
|
||
.B Default
|
||
“/usr/src/debug/<CPACK_PACKAGE_FILE_NAME>” and
|
||
for component packaging “/usr/src/debug/<CPACK_PACKAGE_FILE_NAME>\-<component>”
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
Each source path prefix is additionally suffixed by \fBsrc_<index>\fP where
|
||
index is index of the path used from \fI\%CPACK_BUILD_SOURCE_DIRS\fP
|
||
variable. This produces \fB<CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX>/src_<index>\fP
|
||
replacement path.
|
||
Limitation is that replaced path part must be shorter or of equal
|
||
length than the length of its replacement. If that is not the case either
|
||
\fI\%CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX\fP variable has to be set to
|
||
a shorter path or source directories must be placed on a longer path.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS
|
||
Directories containing sources that should be excluded from debuginfo packages.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : “/usr /usr/src /usr/src/debug”
|
||
.UNINDENT
|
||
.sp
|
||
Listed paths are owned by other RPM packages and should therefore not be
|
||
deleted on debuginfo package uninstallation.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS_ADDITION
|
||
Paths that should be appended to \fI\%CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS\fP
|
||
for exclusion.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE
|
||
Create a single debuginfo package even if components packaging is set.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : OFF
|
||
.UNINDENT
|
||
.sp
|
||
When this variable is enabled it produces a single debuginfo package even if
|
||
component packaging is enabled.
|
||
.sp
|
||
When using this feature in combination with components packaging and there is
|
||
more than one component this variable requires \fI\%CPACK_RPM_MAIN_COMPONENT\fP
|
||
to be set.
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
If none of the \fI\%CPACK_RPM_<component>_DEBUGINFO_PACKAGE\fP variables
|
||
is set then \fI\%CPACK_RPM_DEBUGINFO_PACKAGE\fP is automatically set to
|
||
\fBON\fP when \fI\%CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE\fP is set.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_DEBUGINFO_FILE_NAME
|
||
.TP
|
||
.B CPACK_RPM_<component>_DEBUGINFO_FILE_NAME
|
||
Debuginfo package file name.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : rpmbuild tool generated package file name
|
||
.UNINDENT
|
||
.sp
|
||
Alternatively provided debuginfo package file name must end with \fB\&.rpm\fP
|
||
suffix and should differ from file names of other generated packages.
|
||
.sp
|
||
Variable may contain \fB@cpack_component@\fP placeholder which will be
|
||
replaced by component name if component packaging is enabled otherwise it
|
||
deletes the placeholder.
|
||
.sp
|
||
Setting the variable to \fBRPM\-DEFAULT\fP may be used to explicitly set
|
||
filename generation to default.
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
\fI\%CPACK_RPM_FILE_NAME\fP also supports rpmbuild tool generated package
|
||
file name \- disabled by default but can be enabled by setting the variable to
|
||
\fBRPM\-DEFAULT\fP\&.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS Packaging of sources (SRPM)
|
||
.sp
|
||
SRPM packaging is enabled by setting \fI\%CPACK_RPM_PACKAGE_SOURCES\fP
|
||
variable while usually using \fBCPACK_INSTALLED_DIRECTORIES\fP variable
|
||
to provide directory containing CMakeLists.txt and source files.
|
||
.sp
|
||
For CMake projects SRPM package would be produced by executing:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
cpack \-G RPM \-\-config ./CPackSourceConfig.cmake
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
Produced SRPM package is expected to be built with \fBcmake(1)\fP executable
|
||
and packaged with \fBcpack(1)\fP executable so CMakeLists.txt has to be
|
||
located in root source directory and must be able to generate binary rpm
|
||
packages by executing \fBcpack \-G\fP command. The two executables as well as
|
||
rpmbuild must also be present when generating binary rpm packages from the
|
||
produced SRPM package.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
Once the SRPM package is generated it can be used to generate binary packages
|
||
by creating a directory structure for rpm generation and executing rpmbuild
|
||
tool:
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
mkdir \-p build_dir/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
|
||
rpmbuild \-\-define "_topdir <path_to_build_dir>" \-\-rebuild <SRPM_file_name>
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
Generated packages will be located in build_dir/RPMS directory or its sub
|
||
directories.
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
SRPM package internally uses CPack/RPM generator to generate binary packages
|
||
so CMakeScripts.txt can decide during the SRPM to binary rpm generation step
|
||
what content the package(s) should have as well as how they should be packaged
|
||
(monolithic or components). CMake can decide this for e.g. by reading environment
|
||
variables set by the package manager before starting the process of generating
|
||
binary rpm packages. This way a single SRPM package can be used to produce
|
||
different binary rpm packages on different platforms depending on the platform’s
|
||
packaging rules.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
Source RPM packaging has its own set of variables:
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_PACKAGE_SOURCES
|
||
Should the content be packaged as a source rpm (default is binary rpm).
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : OFF
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
For cmake projects \fI\%CPACK_RPM_PACKAGE_SOURCES\fP variable is set
|
||
to \fBOFF\fP in CPackConfig.cmake and \fBON\fP in CPackSourceConfig.cmake
|
||
generated files.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_SOURCE_PKG_BUILD_PARAMS
|
||
Additional command\-line parameters provided to \fBcmake(1)\fP executable.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX
|
||
Packaging install prefix that would be provided in \fBCPACK_PACKAGING_INSTALL_PREFIX\fP
|
||
variable for producing binary RPM packages.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : YES
|
||
.IP \(bu 2
|
||
Default : “/”
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_RPM_BUILDREQUIRES
|
||
List of source rpm build dependencies.
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
Mandatory : NO
|
||
.IP \(bu 2
|
||
Default : \-
|
||
.UNINDENT
|
||
.sp
|
||
May be used to set source RPM build dependencies (BuildRequires). Note that
|
||
you must enclose the complete build requirements string between quotes, for
|
||
example:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
set(CPACK_RPM_BUILDREQUIRES "python >= 2.5.0, cmake >= 2.8")
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.SS CPack WIX Generator
|
||
.sp
|
||
CPack WIX generator specific options
|
||
.SS Variables specific to CPack WIX generator
|
||
.sp
|
||
The following variables are specific to the installers built on
|
||
Windows using WiX.
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_UPGRADE_GUID
|
||
Upgrade GUID (\fBProduct/@UpgradeCode\fP)
|
||
.sp
|
||
Will be automatically generated unless explicitly provided.
|
||
.sp
|
||
It should be explicitly set to a constant generated globally unique
|
||
identifier (GUID) to allow your installers to replace existing
|
||
installations that use the same GUID.
|
||
.sp
|
||
You may for example explicitly set this variable in your
|
||
CMakeLists.txt to the value that has been generated per default. You
|
||
should not use GUIDs that you did not generate yourself or which may
|
||
belong to other projects.
|
||
.sp
|
||
A GUID shall have the following fixed length syntax:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
XXXXXXXX\-XXXX\-XXXX\-XXXX\-XXXXXXXXXXXX
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
(each X represents an uppercase hexadecimal digit)
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_PRODUCT_GUID
|
||
Product GUID (\fBProduct/@Id\fP)
|
||
.sp
|
||
Will be automatically generated unless explicitly provided.
|
||
.sp
|
||
If explicitly provided this will set the Product Id of your installer.
|
||
.sp
|
||
The installer will abort if it detects a pre\-existing installation that
|
||
uses the same GUID.
|
||
.sp
|
||
The GUID shall use the syntax described for CPACK_WIX_UPGRADE_GUID.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_LICENSE_RTF
|
||
RTF License File
|
||
.sp
|
||
If CPACK_RESOURCE_FILE_LICENSE has an .rtf extension it is used as\-is.
|
||
.sp
|
||
If CPACK_RESOURCE_FILE_LICENSE has an .txt extension it is implicitly
|
||
converted to RTF by the WIX Generator.
|
||
The expected encoding of the .txt file is UTF\-8.
|
||
.sp
|
||
With CPACK_WIX_LICENSE_RTF you can override the license file used by the
|
||
WIX Generator in case CPACK_RESOURCE_FILE_LICENSE is in an unsupported
|
||
format or the .txt \-> .rtf conversion does not work as expected.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_PRODUCT_ICON
|
||
The Icon shown next to the program name in Add/Remove programs.
|
||
.sp
|
||
If set, this icon is used in place of the default icon.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_UI_REF
|
||
This variable allows you to override the Id of the \fB<UIRef>\fP element
|
||
in the WiX template.
|
||
.sp
|
||
The default is \fBWixUI_InstallDir\fP in case no CPack components have
|
||
been defined and \fBWixUI_FeatureTree\fP otherwise.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_UI_BANNER
|
||
The bitmap will appear at the top of all installer pages other than the
|
||
welcome and completion dialogs.
|
||
.sp
|
||
If set, this image will replace the default banner image.
|
||
.sp
|
||
This image must be 493 by 58 pixels.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_UI_DIALOG
|
||
Background bitmap used on the welcome and completion dialogs.
|
||
.sp
|
||
If this variable is set, the installer will replace the default dialog
|
||
image.
|
||
.sp
|
||
This image must be 493 by 312 pixels.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_PROGRAM_MENU_FOLDER
|
||
Start menu folder name for launcher.
|
||
.sp
|
||
If this variable is not set, it will be initialized with CPACK_PACKAGE_NAME
|
||
.sp
|
||
If this variable is set to \fB\&.\fP, then application shortcuts will be
|
||
created directly in the start menu and the uninstaller shortcut will be
|
||
omitted.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_CULTURES
|
||
Language(s) of the installer
|
||
.sp
|
||
Languages are compiled into the WixUI extension library. To use them,
|
||
simply provide the name of the culture. If you specify more than one
|
||
culture identifier in a comma or semicolon delimited list, the first one
|
||
that is found will be used. You can find a list of supported languages at:
|
||
\fI\%http://wix.sourceforge.net/manual\-wix3/WixUI_localization.htm\fP
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_TEMPLATE
|
||
Template file for WiX generation
|
||
.sp
|
||
If this variable is set, the specified template will be used to generate
|
||
the WiX wxs file. This should be used if further customization of the
|
||
output is required.
|
||
.sp
|
||
If this variable is not set, the default MSI template included with CMake
|
||
will be used.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_PATCH_FILE
|
||
Optional list of XML files with fragments to be inserted into
|
||
generated WiX sources
|
||
.sp
|
||
This optional variable can be used to specify an XML file that the
|
||
WIX generator will use to inject fragments into its generated
|
||
source files.
|
||
.sp
|
||
Patch files understood by the CPack WIX generator
|
||
roughly follow this RELAX NG compact schema:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
start = CPackWiXPatch
|
||
|
||
CPackWiXPatch = element CPackWiXPatch { CPackWiXFragment* }
|
||
|
||
CPackWiXFragment = element CPackWiXFragment
|
||
{
|
||
attribute Id { string },
|
||
fragmentContent*
|
||
}
|
||
|
||
fragmentContent = element * \- CPackWiXFragment
|
||
{
|
||
(attribute * { text } | text | fragmentContent)*
|
||
}
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
Currently fragments can be injected into most
|
||
Component, File, Directory and Feature elements.
|
||
.sp
|
||
The following additional special Ids can be used:
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
\fB#PRODUCT\fP for the \fB<Product>\fP element.
|
||
.IP \(bu 2
|
||
\fB#PRODUCTFEATURE\fP for the root \fB<Feature>\fP element.
|
||
.UNINDENT
|
||
.sp
|
||
The following example illustrates how this works.
|
||
.sp
|
||
Given that the WIX generator creates the following XML element:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
<Component Id="CM_CP_applications.bin.my_libapp.exe" Guid="*"/>
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.sp
|
||
The following XML patch file may be used to inject an Environment element
|
||
into it:
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
.nf
|
||
.ft C
|
||
<CPackWiXPatch>
|
||
<CPackWiXFragment Id="CM_CP_applications.bin.my_libapp.exe">
|
||
<Environment Id="MyEnvironment" Action="set"
|
||
Name="MyVariableName" Value="MyVariableValue"/>
|
||
</CPackWiXFragment>
|
||
</CPackWiXPatch>
|
||
.ft P
|
||
.fi
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_EXTRA_SOURCES
|
||
Extra WiX source files
|
||
.sp
|
||
This variable provides an optional list of extra WiX source files (.wxs)
|
||
that should be compiled and linked. The full path to source files is
|
||
required.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_EXTRA_OBJECTS
|
||
Extra WiX object files or libraries
|
||
.sp
|
||
This variable provides an optional list of extra WiX object (.wixobj)
|
||
and/or WiX library (.wixlib) files. The full path to objects and libraries
|
||
is required.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_EXTENSIONS
|
||
This variable provides a list of additional extensions for the WiX
|
||
tools light and candle.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_<TOOL>_EXTENSIONS
|
||
This is the tool specific version of CPACK_WIX_EXTENSIONS.
|
||
\fB<TOOL>\fP can be either LIGHT or CANDLE.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_<TOOL>_EXTRA_FLAGS
|
||
This list variable allows you to pass additional
|
||
flags to the WiX tool \fB<TOOL>\fP\&.
|
||
.sp
|
||
Use it at your own risk.
|
||
Future versions of CPack may generate flags which may be in conflict
|
||
with your own flags.
|
||
.sp
|
||
\fB<TOOL>\fP can be either LIGHT or CANDLE.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_CMAKE_PACKAGE_REGISTRY
|
||
If this variable is set the generated installer will create
|
||
an entry in the windows registry key
|
||
\fBHKEY_LOCAL_MACHINE\eSoftware\eKitware\eCMake\ePackages\e<PackageName>\fP
|
||
The value for \fB<PackageName>\fP is provided by this variable.
|
||
.sp
|
||
Assuming you also install a CMake configuration file this will
|
||
allow other CMake projects to find your package with
|
||
the \fBfind_package()\fP command.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_PROPERTY_<PROPERTY>
|
||
This variable can be used to provide a value for
|
||
the Windows Installer property \fB<PROPERTY>\fP
|
||
.sp
|
||
The following list contains some example properties that can be used to
|
||
customize information under
|
||
“Programs and Features” (also known as “Add or Remove Programs”)
|
||
.INDENT 7.0
|
||
.IP \(bu 2
|
||
ARPCOMMENTS \- Comments
|
||
.IP \(bu 2
|
||
ARPHELPLINK \- Help and support information URL
|
||
.IP \(bu 2
|
||
ARPURLINFOABOUT \- General information URL
|
||
.IP \(bu 2
|
||
ARPURLUPDATEINFO \- Update information URL
|
||
.IP \(bu 2
|
||
ARPHELPTELEPHONE \- Help and support telephone number
|
||
.IP \(bu 2
|
||
ARPSIZE \- Size (in kilobytes) of the application
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_ROOT_FEATURE_TITLE
|
||
Sets the name of the root install feature in the WIX installer. Same as
|
||
CPACK_COMPONENT_<compName>_DISPLAY_NAME for components.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_ROOT_FEATURE_DESCRIPTION
|
||
Sets the description of the root install feature in the WIX installer. Same as
|
||
CPACK_COMPONENT_<compName>_DESCRIPTION for components.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_SKIP_PROGRAM_FOLDER
|
||
If this variable is set to true, the default install location
|
||
of the generated package will be CPACK_PACKAGE_INSTALL_DIRECTORY directly.
|
||
The install location will not be located relatively below
|
||
ProgramFiles or ProgramFiles64.
|
||
.INDENT 7.0
|
||
.INDENT 3.5
|
||
.sp
|
||
\fBNOTE:\fP
|
||
.INDENT 0.0
|
||
.INDENT 3.5
|
||
Installers created with this feature do not take differences
|
||
between the system on which the installer is created
|
||
and the system on which the installer might be used into account.
|
||
.sp
|
||
It is therefore possible that the installer e.g. might try to install
|
||
onto a drive that is unavailable or unintended or a path that does not
|
||
follow the localization or convention of the system on which the
|
||
installation is performed.
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_ROOT_FOLDER_ID
|
||
This variable allows specification of a custom root folder ID.
|
||
The generator specific \fB<64>\fP token can be used for
|
||
folder IDs that come in 32\-bit and 64\-bit variants.
|
||
In 32\-bit builds the token will expand empty while in 64\-bit builds
|
||
it will expand to \fB64\fP\&.
|
||
.sp
|
||
When unset generated installers will default installing to
|
||
\fBProgramFiles<64>Folder\fP\&.
|
||
.UNINDENT
|
||
.INDENT 0.0
|
||
.TP
|
||
.B CPACK_WIX_ROOT
|
||
This variable can optionally be set to the root directory
|
||
of a custom WiX Toolset installation.
|
||
.sp
|
||
When unspecified CPack will try to locate a WiX Toolset
|
||
installation via the \fBWIX\fP environment variable instead.
|
||
.UNINDENT
|
||
.SH COPYRIGHT
|
||
2000-2020 Kitware, Inc. and Contributors
|
||
.\" Generated by docutils manpage writer.
|
||
.
|