mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-24 17:18:37 -05:00
Merge topic 'cpack-generator-documentation'
57e4c51e8aHelp: Update old version release notes for CPack generator docs4181830881Help: Add release notes for CPack generator documentation and module updates48bc8b2b82CPack: Move internal implementation modules into Internal/CPack directory2a2829cc75Help: Add new section for CPack generatorsbe6267808aCPackIFW: Turn documentation into a block comment0180524c7aHelp: Move legacy CPack modules into separate section Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2149
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
CPack Archive Generator
|
||||
-----------------------
|
||||
|
||||
Archive CPack generator that supports packaging of sources and binaries in
|
||||
different formats:
|
||||
|
||||
- 7Z - 7zip - (.7z)
|
||||
- TBZ2 (.tar.bz2)
|
||||
- TGZ (.tar.gz)
|
||||
- TXZ (.tar.xz)
|
||||
- TZ (.tar.Z)
|
||||
- ZIP (.zip)
|
||||
|
||||
Variables specific to CPack Archive generator
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. variable:: CPACK_ARCHIVE_FILE_NAME
|
||||
CPACK_ARCHIVE_<component>_FILE_NAME
|
||||
|
||||
Package file name without extension which is added automatically depending
|
||||
on the archive format.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : ``<CPACK_PACKAGE_FILE_NAME>[-<component>].<extension>`` with
|
||||
spaces replaced by '-'
|
||||
|
||||
.. variable:: CPACK_ARCHIVE_COMPONENT_INSTALL
|
||||
|
||||
Enable component packaging for CPackArchive
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : OFF
|
||||
|
||||
If enabled (ON) multiple packages are generated. By default a single package
|
||||
containing files of all components is generated.
|
||||
@@ -0,0 +1,64 @@
|
||||
CPack Bundle Generator
|
||||
----------------------
|
||||
|
||||
CPack Bundle generator (Mac OS X) specific options
|
||||
|
||||
Variables specific to CPack Bundle generator
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Installers built on Mac OS X using the Bundle generator use the
|
||||
aforementioned DragNDrop (CPACK_DMG_xxx) variables, plus the following
|
||||
Bundle-specific parameters (CPACK_BUNDLE_xxx).
|
||||
|
||||
.. variable:: CPACK_BUNDLE_NAME
|
||||
|
||||
The name of the generated bundle. This appears in the OSX finder as the
|
||||
bundle name. Required.
|
||||
|
||||
.. variable:: CPACK_BUNDLE_PLIST
|
||||
|
||||
Path to an OSX plist file that will be used for the generated bundle. This
|
||||
assumes that the caller has generated or specified their own Info.plist
|
||||
file. Required.
|
||||
|
||||
.. variable:: CPACK_BUNDLE_ICON
|
||||
|
||||
Path to an OSX icon file that will be used as the icon for the generated
|
||||
bundle. This is the icon that appears in the OSX finder for the bundle, and
|
||||
in the OSX dock when the bundle is opened. Required.
|
||||
|
||||
.. variable:: 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
|
||||
OSX Finder. Optional.
|
||||
|
||||
.. variable:: CPACK_BUNDLE_APPLE_CERT_APP
|
||||
|
||||
The name of your Apple supplied code signing certificate for the application.
|
||||
The name usually takes the form "Developer ID Application: [Name]" or
|
||||
"3rd Party Mac Developer Application: [Name]". If this variable is not set
|
||||
the application will not be signed.
|
||||
|
||||
.. variable:: CPACK_BUNDLE_APPLE_ENTITLEMENTS
|
||||
|
||||
The name of the plist file that contains your apple entitlements for sandboxing
|
||||
your application. This file is required for submission to the Mac App Store.
|
||||
|
||||
.. variable:: 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.
|
||||
|
||||
.. variable:: CPACK_BUNDLE_APPLE_CODESIGN_PARAMETER
|
||||
|
||||
Additional parameter that will passed to codesign.
|
||||
Default value: "--deep -f"
|
||||
|
||||
.. variable:: CPACK_COMMAND_CODESIGN
|
||||
|
||||
Path to the codesign(1) 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.)
|
||||
@@ -0,0 +1,23 @@
|
||||
CPack Cygwin Generator
|
||||
----------------------
|
||||
|
||||
Cygwin CPack generator (Cygwin).
|
||||
|
||||
Variables specific to CPack Cygwin generator
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The
|
||||
following variable is specific to installers build on and/or for
|
||||
Cygwin:
|
||||
|
||||
.. variable:: CPACK_CYGWIN_PATCH_NUMBER
|
||||
|
||||
The Cygwin patch number. FIXME: This documentation is incomplete.
|
||||
|
||||
.. variable:: CPACK_CYGWIN_PATCH_FILE
|
||||
|
||||
The Cygwin patch file. FIXME: This documentation is incomplete.
|
||||
|
||||
.. variable:: CPACK_CYGWIN_BUILD_SCRIPT
|
||||
|
||||
The Cygwin build script. FIXME: This documentation is incomplete.
|
||||
@@ -0,0 +1,529 @@
|
||||
CPack Deb Generator
|
||||
-------------------
|
||||
|
||||
The built in (binary) CPack Deb generator (Unix only)
|
||||
|
||||
Variables specific to CPack Debian (DEB) generator
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The CPack Deb generator may be used to create Deb package using :module:`CPack`.
|
||||
The CPack Deb generator is a :module:`CPack` generator thus it uses the
|
||||
``CPACK_XXX`` variables used by :module:`CPack`.
|
||||
|
||||
The CPack Deb generator should work on any Linux host but it will produce
|
||||
better deb package when Debian specific tools ``dpkg-xxx`` are usable on
|
||||
the build system.
|
||||
|
||||
The CPack Deb generator has specific features which are controlled by the
|
||||
specifics :code:`CPACK_DEBIAN_XXX` variables.
|
||||
|
||||
:code:`CPACK_DEBIAN_<COMPONENT>_XXXX` variables may be used in order to have
|
||||
**component** specific values. Note however that ``<COMPONENT>`` refers to
|
||||
the **grouping name** written in upper case. It may be either a component name
|
||||
or a component GROUP name.
|
||||
|
||||
Here are some CPack Deb generator wiki resources that are here for historic
|
||||
reasons and are no longer maintained but may still prove useful:
|
||||
|
||||
- https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/Configuration
|
||||
- https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/PackageGenerators#deb-unix-only
|
||||
|
||||
List of CPack Deb generator specific variables:
|
||||
|
||||
.. variable:: CPACK_DEB_COMPONENT_INSTALL
|
||||
|
||||
Enable component packaging for CPackDEB
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : OFF
|
||||
|
||||
If enabled (ON) multiple packages are generated. By default a single package
|
||||
containing files of all components is generated.
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_NAME
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_NAME
|
||||
|
||||
Set Package control field (variable is automatically transformed to lower
|
||||
case).
|
||||
|
||||
* Mandatory : YES
|
||||
* Default :
|
||||
|
||||
- :variable:`CPACK_PACKAGE_NAME` for non-component based
|
||||
installations
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_NAME` suffixed with -<COMPONENT>
|
||||
for component-based installations.
|
||||
|
||||
See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
|
||||
|
||||
.. variable:: CPACK_DEBIAN_FILE_NAME
|
||||
CPACK_DEBIAN_<COMPONENT>_FILE_NAME
|
||||
|
||||
Package file name.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : ``<CPACK_PACKAGE_FILE_NAME>[-<component>].deb``
|
||||
|
||||
This may be set to ``DEB-DEFAULT`` to allow the CPack Deb generator to generate
|
||||
package file name by itself in deb format::
|
||||
|
||||
<PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
|
||||
|
||||
Alternatively provided package file name must end
|
||||
with either ``.deb`` or ``.ipk`` suffix.
|
||||
|
||||
.. note::
|
||||
|
||||
Preferred setting of this variable is ``DEB-DEFAULT`` but for backward
|
||||
compatibility with the CPack Deb generator in CMake prior to version 3.6 this
|
||||
feature is disabled by default.
|
||||
|
||||
.. note::
|
||||
|
||||
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.
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_EPOCH
|
||||
|
||||
The Debian package epoch
|
||||
|
||||
* Mandatory : No
|
||||
* Default : -
|
||||
|
||||
Optional number that should be incremented when changing versioning schemas
|
||||
or fixing mistakes in the version numbers of older packages.
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_VERSION
|
||||
|
||||
The Debian package version
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : :variable:`CPACK_PACKAGE_VERSION`
|
||||
|
||||
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
|
||||
:variable:`CPACK_DEBIAN_PACKAGE_RELEASE` is not set then hyphens are not
|
||||
allowed.
|
||||
|
||||
.. note::
|
||||
|
||||
For backward compatibility with CMake 3.9 and lower a failed test of this
|
||||
variable's content is not a hard error when both
|
||||
:variable:`CPACK_DEBIAN_PACKAGE_RELEASE` and
|
||||
:variable:`CPACK_DEBIAN_PACKAGE_EPOCH` variables are not set. An author
|
||||
warning is reported instead.
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_RELEASE
|
||||
|
||||
The Debian package release - Debian revision number.
|
||||
|
||||
* Mandatory : No
|
||||
* Default : -
|
||||
|
||||
This is the numbering of the DEB package itself, i.e. the version of the
|
||||
packaging and not the version of the content (see
|
||||
:variable:`CPACK_DEBIAN_PACKAGE_VERSION`). 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.
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_ARCHITECTURE
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE
|
||||
|
||||
The Debian package architecture
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : Output of :code:`dpkg --print-architecture` (or :code:`i386`
|
||||
if :code:`dpkg` is not found)
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_DEPENDS
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS
|
||||
|
||||
Sets the Debian dependencies of this package.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default :
|
||||
|
||||
- An empty string for non-component based installations
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_DEPENDS` for component-based
|
||||
installations.
|
||||
|
||||
.. note::
|
||||
|
||||
If :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` or
|
||||
more specifically :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS`
|
||||
is set for this component, the discovered dependencies will be appended
|
||||
to :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS` instead of
|
||||
:variable:`CPACK_DEBIAN_PACKAGE_DEPENDS`. If
|
||||
:variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS` is an empty string,
|
||||
only the automatically discovered dependencies will be set for this
|
||||
component.
|
||||
|
||||
Example::
|
||||
|
||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libc6 (< 2.4)")
|
||||
|
||||
.. variable:: CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS
|
||||
|
||||
Sets inter component dependencies if listed with
|
||||
:variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_MAINTAINER
|
||||
|
||||
The Debian package maintainer
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : :code:`CPACK_PACKAGE_CONTACT`
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_DESCRIPTION
|
||||
CPACK_COMPONENT_<COMPONENT>_DESCRIPTION
|
||||
|
||||
The Debian package description
|
||||
|
||||
* Mandatory : YES
|
||||
* Default :
|
||||
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` if set or
|
||||
- :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`
|
||||
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_SECTION
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION
|
||||
|
||||
Set Section control field e.g. admin, devel, doc, ...
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : "devel"
|
||||
|
||||
See https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections
|
||||
|
||||
.. variable:: CPACK_DEBIAN_ARCHIVE_TYPE
|
||||
|
||||
The archive format used for creating the Debian package.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : "paxr"
|
||||
|
||||
Possible values are:
|
||||
|
||||
- paxr
|
||||
- gnutar
|
||||
|
||||
.. note::
|
||||
|
||||
Default pax archive format is the most portable format and generates
|
||||
packages that do not treat sparse files specially.
|
||||
GNU tar format on the other hand supports longer filenames.
|
||||
|
||||
.. variable:: CPACK_DEBIAN_COMPRESSION_TYPE
|
||||
|
||||
The compression used for creating the Debian package.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : "gzip"
|
||||
|
||||
Possible values are:
|
||||
|
||||
- lzma
|
||||
- xz
|
||||
- bzip2
|
||||
- gzip
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_PRIORITY
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY
|
||||
|
||||
Set Priority control field e.g. required, important, standard, optional,
|
||||
extra
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : "optional"
|
||||
|
||||
See https://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities
|
||||
|
||||
.. variable:: 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.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : :variable:`CMAKE_PROJECT_HOMEPAGE_URL`
|
||||
|
||||
.. note::
|
||||
|
||||
The content of this field is a simple URL without any surrounding
|
||||
characters such as <>.
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_SHLIBDEPS
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS
|
||||
|
||||
May be set to ON in order to use :code:`dpkg-shlibdeps` to generate
|
||||
better package dependency list.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default :
|
||||
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` if set or
|
||||
- OFF
|
||||
|
||||
.. note::
|
||||
|
||||
You may need set :variable:`CMAKE_INSTALL_RPATH` to an appropriate value
|
||||
if you use this feature, because if you don't :code:`dpkg-shlibdeps`
|
||||
may fail to find your own shared libs.
|
||||
See https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/RPATH-handling
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_DEBUG
|
||||
|
||||
May be set when invoking cpack in order to trace debug information
|
||||
during the CPack Deb generator run.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_PREDEPENDS
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS
|
||||
|
||||
Sets the `Pre-Depends` field of the Debian package.
|
||||
Like :variable:`Depends <CPACK_DEBIAN_PACKAGE_DEPENDS>`, except that it
|
||||
also forces :code:`dpkg` to complete installation of the packages named
|
||||
before even starting the installation of the package which declares the
|
||||
pre-dependency.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default :
|
||||
|
||||
- An empty string for non-component based installations
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_PREDEPENDS` for component-based
|
||||
installations.
|
||||
|
||||
See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_ENHANCES
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES
|
||||
|
||||
Sets the `Enhances` field of the Debian package.
|
||||
Similar to :variable:`Suggests <CPACK_DEBIAN_PACKAGE_SUGGESTS>` but works
|
||||
in the opposite direction: declares that a package can enhance the
|
||||
functionality of another package.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default :
|
||||
|
||||
- An empty string for non-component based installations
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_ENHANCES` for component-based
|
||||
installations.
|
||||
|
||||
See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_BREAKS
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS
|
||||
|
||||
Sets the `Breaks` field of the Debian package.
|
||||
When a binary package (P) declares that it breaks other packages (B),
|
||||
:code:`dpkg` will not allow the package (P) which declares `Breaks` be
|
||||
**unpacked** 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.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default :
|
||||
|
||||
- An empty string for non-component based installations
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_BREAKS` for component-based
|
||||
installations.
|
||||
|
||||
See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-breaks
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_CONFLICTS
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS
|
||||
|
||||
Sets the `Conflicts` field of the Debian package.
|
||||
When one binary package declares a conflict with another using a `Conflicts`
|
||||
field, :code:`dpkg` will not allow them to be unpacked on the system at
|
||||
the same time.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default :
|
||||
|
||||
- An empty string for non-component based installations
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_CONFLICTS` for component-based
|
||||
installations.
|
||||
|
||||
See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-conflicts
|
||||
|
||||
.. note::
|
||||
|
||||
This is a stronger restriction than
|
||||
:variable:`Breaks <CPACK_DEBIAN_PACKAGE_BREAKS>`, 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.
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_PROVIDES
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES
|
||||
|
||||
Sets the `Provides` field of the Debian package.
|
||||
A virtual package is one which appears in the `Provides` control field of
|
||||
another package.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default :
|
||||
|
||||
- An empty string for non-component based installations
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_PROVIDES` for component-based
|
||||
installations.
|
||||
|
||||
See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-virtual
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_REPLACES
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES
|
||||
|
||||
Sets the `Replaces` 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.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default :
|
||||
|
||||
- An empty string for non-component based installations
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_REPLACES` for component-based
|
||||
installations.
|
||||
|
||||
See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_RECOMMENDS
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS
|
||||
|
||||
Sets the `Recommends` field of the Debian package.
|
||||
Allows packages to declare a strong, but not absolute, dependency on other
|
||||
packages.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default :
|
||||
|
||||
- An empty string for non-component based installations
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_RECOMMENDS` for component-based
|
||||
installations.
|
||||
|
||||
See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_SUGGESTS
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS
|
||||
|
||||
Sets the `Suggests` field of the Debian package.
|
||||
Allows packages to declare a suggested package install grouping.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default :
|
||||
|
||||
- An empty string for non-component based installations
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_SUGGESTS` for component-based
|
||||
installations.
|
||||
|
||||
See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : OFF
|
||||
|
||||
Allows to generate shlibs control file automatically. Compatibility is defined by
|
||||
:variable:`CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY` variable value.
|
||||
|
||||
.. note::
|
||||
|
||||
Libraries are only considered if they have both library name and version
|
||||
set. This can be done by setting SOVERSION property with
|
||||
:command:`set_target_properties` command.
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY
|
||||
|
||||
Compatibility policy for auto-generated shlibs control file.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : "="
|
||||
|
||||
Defines compatibility policy for auto-generated shlibs control file.
|
||||
Possible values: "=", ">="
|
||||
|
||||
See https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-shlibdeps
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
|
||||
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.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
Usage::
|
||||
|
||||
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
|
||||
|
||||
.. note::
|
||||
|
||||
The original permissions of the files will be used in the final
|
||||
package unless the variable
|
||||
:variable:`CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION` is set.
|
||||
In particular, the scripts should have the proper executable
|
||||
flag prior to the generation of the package.
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_STRICT_PERMISSION
|
||||
|
||||
This variable indicates if the Debian policy on control files should be
|
||||
strictly followed.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : FALSE
|
||||
|
||||
Usage::
|
||||
|
||||
set(CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION TRUE)
|
||||
|
||||
.. note::
|
||||
|
||||
This overrides the permissions on the original files, following the rules
|
||||
set by Debian policy
|
||||
https://www.debian.org/doc/debian-policy/ch-files.html#s-permissions-owners
|
||||
|
||||
.. variable:: CPACK_DEBIAN_PACKAGE_SOURCE
|
||||
CPACK_DEBIAN_<COMPONENT>_PACKAGE_SOURCE
|
||||
|
||||
Sets the ``Source`` 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 ``Source``.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default :
|
||||
|
||||
- An empty string for non-component based installations
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_SOURCE` for component-based
|
||||
installations.
|
||||
|
||||
See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
|
||||
|
||||
.. note::
|
||||
|
||||
This value is not interpreted. It is possible to pass an optional
|
||||
revision number of the referenced source package as well.
|
||||
|
||||
Building Debian packages on Windows
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
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.
|
||||
|
||||
When a filesystem without ADT support is used only owner read/write
|
||||
permissions can be preserved.
|
||||
@@ -0,0 +1,101 @@
|
||||
CPack DMG Generator
|
||||
-------------------
|
||||
|
||||
DragNDrop CPack generator (Mac OS X).
|
||||
|
||||
Variables specific to CPack DragNDrop generator
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The following variables are specific to the DragNDrop installers built
|
||||
on Mac OS X:
|
||||
|
||||
.. variable:: CPACK_DMG_VOLUME_NAME
|
||||
|
||||
The volume name of the generated disk image. Defaults to
|
||||
CPACK_PACKAGE_FILE_NAME.
|
||||
|
||||
.. variable:: CPACK_DMG_FORMAT
|
||||
|
||||
The disk image format. Common values are UDRO (UDIF read-only), UDZO (UDIF
|
||||
zlib-compressed) or UDBZ (UDIF bzip2-compressed). Refer to hdiutil(1) for
|
||||
more information on other available formats. Defaults to UDZO.
|
||||
|
||||
.. variable:: CPACK_DMG_DS_STORE
|
||||
|
||||
Path to a custom DS_Store file. This .DS_Store file e.g. 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 .DS_Store file can then be extracted.
|
||||
|
||||
.. variable:: CPACK_DMG_DS_STORE_SETUP_SCRIPT
|
||||
|
||||
Path to a custom AppleScript file. This AppleScript is used to generate
|
||||
a .DS_Store 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
|
||||
CPACK_DMG_DS_STORE, as the .DS_Store that is generated by the AppleScript
|
||||
will be packaged.
|
||||
|
||||
.. variable:: CPACK_DMG_BACKGROUND_IMAGE
|
||||
|
||||
Path to an image file to be used as the background. This file will be
|
||||
copied to .background/background.<ext>, where ext is the original image file
|
||||
extension. The background image is installed into the image before
|
||||
CPACK_DMG_DS_STORE_SETUP_SCRIPT is executed or CPACK_DMG_DS_STORE is
|
||||
installed. By default no background image is set.
|
||||
|
||||
.. variable:: CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK
|
||||
|
||||
Default behaviour is to include a symlink to ``/Applications`` in the DMG.
|
||||
Set this option to ``ON`` to avoid adding the symlink.
|
||||
|
||||
.. variable:: CPACK_DMG_SLA_DIR
|
||||
|
||||
Directory where license and menu files for different languages are stored.
|
||||
Setting this causes CPack to look for a ``<language>.menu.txt`` and
|
||||
``<language>.license.txt`` file for every language defined in
|
||||
``CPACK_DMG_SLA_LANGUAGES``. If both this variable and
|
||||
``CPACK_RESOURCE_FILE_LICENSE`` are set, CPack will only look for the menu
|
||||
files and use the same license file for all languages.
|
||||
|
||||
.. variable:: 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:
|
||||
|
||||
- Agree
|
||||
- Disagree
|
||||
- Print
|
||||
- Save...
|
||||
- You agree to the terms of the License Agreement when you click the
|
||||
"Agree" button.
|
||||
- Software License Agreement
|
||||
- This text cannot be saved. The disk may be full or locked, or the file
|
||||
may be locked.
|
||||
- Unable to print. Make sure you have selected a printer.
|
||||
|
||||
For every language in this list, CPack will try to find files
|
||||
``<language>.menu.txt`` and ``<language>.license.txt`` in the directory
|
||||
specified by the :variable:`CPACK_DMG_SLA_DIR` variable.
|
||||
|
||||
.. variable:: CPACK_COMMAND_HDIUTIL
|
||||
|
||||
Path to the hdiutil(1) command used to operate on disk image files on Mac
|
||||
OS X. This variable can be used to override the automatically detected
|
||||
command (or specify its location if the auto-detection fails to find it.)
|
||||
|
||||
.. variable:: CPACK_COMMAND_SETFILE
|
||||
|
||||
Path to the SetFile(1) command used to set extended attributes on files and
|
||||
directories on Mac OS X. This variable can be used to override the
|
||||
automatically detected command (or specify its location if the
|
||||
auto-detection fails to find it.)
|
||||
|
||||
.. variable:: CPACK_COMMAND_REZ
|
||||
|
||||
Path to the Rez(1) command used to compile resources on Mac OS X. This
|
||||
variable can be used to override the automatically detected command (or
|
||||
specify its location if the auto-detection fails to find it.)
|
||||
@@ -0,0 +1,138 @@
|
||||
CPack FreeBSD Generator
|
||||
-----------------------
|
||||
|
||||
The built in (binary) CPack FreeBSD (pkg) generator (Unix only)
|
||||
|
||||
Variables specific to CPack FreeBSD (pkg) generator
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The CPack FreeBSD generator may be used to create pkg(8) packages -- these may
|
||||
be used on FreeBSD, DragonflyBSD, NetBSD, OpenBSD, but also on Linux or OSX,
|
||||
depending on the installed package-management tools -- using :module:`CPack`.
|
||||
|
||||
The CPack FreeBSD generator is a :module:`CPack` generator and uses the
|
||||
``CPACK_XXX`` variables used by :module:`CPack`. It tries to re-use packaging
|
||||
information that may already be specified for Debian packages for the
|
||||
:cpack_gen:`CPack Deb Generator`. It also tries to re-use RPM packaging
|
||||
information when Debian does not specify.
|
||||
|
||||
The CPack FreeBSD generator should work on any host with libpkg installed. The
|
||||
packages it produces are specific to the host architecture and ABI.
|
||||
|
||||
The CPack FreeBSD generator sets package-metadata through
|
||||
:code:`CPACK_FREEBSD_XXX` variables. The CPack FreeBSD generator, unlike the
|
||||
CPack Deb generator, does not specially support componentized packages; a
|
||||
single package is created from all the software artifacts created through
|
||||
CMake.
|
||||
|
||||
All of the variables can be set specifically for FreeBSD packaging in
|
||||
the CPackConfig file or in CMakeLists.txt, but most of them have defaults
|
||||
that use general settings (e.g. CMAKE_PROJECT_NAME) or Debian-specific
|
||||
variables when those make sense (e.g. the homepage of an upstream project
|
||||
is usually unchanged by the flavor of packaging). When there is no Debian
|
||||
information to fall back on, but the RPM packaging has it, fall back to
|
||||
the RPM information (e.g. package license).
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_NAME
|
||||
|
||||
Sets the package name (in the package manifest, but also affects the
|
||||
output filename).
|
||||
|
||||
* Mandatory: YES
|
||||
* Default:
|
||||
|
||||
- :variable:`CPACK_PACKAGE_NAME` (this is always set by CPack itself,
|
||||
based on CMAKE_PROJECT_NAME).
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_COMMENT
|
||||
|
||||
Sets the package comment. This is the short description displayed by
|
||||
pkg(8) in standard "pkg info" output.
|
||||
|
||||
* Mandatory: YES
|
||||
* Default:
|
||||
|
||||
- :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` (this is always set
|
||||
by CPack itself, if nothing else sets it explicitly).
|
||||
- :variable:`PROJECT_DESCRIPTION` (this can be set with the DESCRIPTION
|
||||
parameter for :command:`project`).
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_DESCRIPTION
|
||||
|
||||
Sets the package description. This is the long description of the package,
|
||||
given by "pkg info" with a specific package as argument.
|
||||
|
||||
* Mandatory: YES
|
||||
* Default:
|
||||
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` (this may be set already
|
||||
for Debian packaging, so we may as well re-use it).
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_WWW
|
||||
|
||||
The URL of the web site for this package, preferably (when applicable) the
|
||||
site from which the original source can be obtained and any additional
|
||||
upstream documentation or information may be found.
|
||||
|
||||
* Mandatory: YES
|
||||
* Default:
|
||||
|
||||
- :variable:`CMAKE_PROJECT_HOMEPAGE_URL`, or if that is not set,
|
||||
:variable:`CPACK_DEBIAN_PACKAGE_HOMEPAGE` (this may be set already
|
||||
for Debian packaging, so we may as well re-use it).
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_LICENSE
|
||||
|
||||
The license, or licenses, which apply to this software package. This must
|
||||
be one or more license-identifiers that pkg recognizes as acceptable license
|
||||
identifiers (e.g. "GPLv2").
|
||||
|
||||
* Mandatory: YES
|
||||
* Default:
|
||||
|
||||
- :variable:`CPACK_RPM_PACKAGE_LICENSE`
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_LICENSE_LOGIC
|
||||
|
||||
This variable is only of importance if there is more than one license.
|
||||
The default is "single", which is only applicable to a single license.
|
||||
Other acceptable values are determined by pkg -- those are "dual" or "multi" --
|
||||
meaning choice (OR) or simultaneous (AND) application of the licenses.
|
||||
|
||||
* Mandatory: NO
|
||||
* Default: single
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_MAINTAINER
|
||||
|
||||
The FreeBSD maintainer (e.g. kde@freebsd.org) of this package.
|
||||
|
||||
* Mandatory: YES
|
||||
* Default: none
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_ORIGIN
|
||||
|
||||
The origin (ports label) of this package; for packages built by CPack
|
||||
outside of the ports system this is of less importance. The default
|
||||
puts the package somewhere under misc/, as a stopgap.
|
||||
|
||||
* Mandatory: YES
|
||||
* Default: misc/<package name>
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_CATEGORIES
|
||||
|
||||
The ports categories where this package lives (if it were to be built
|
||||
from ports). If none is set a single category is determined based on
|
||||
the package origin.
|
||||
|
||||
* Mandatory: YES
|
||||
* Default: derived from ORIGIN
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_DEPS
|
||||
|
||||
A list of package origins that should be added as package dependencies.
|
||||
These are in the form <category>/<packagename>, e.g. x11/libkonq.
|
||||
No version information needs to be provided (this is not included
|
||||
in the manifest).
|
||||
|
||||
* Mandatory: NO
|
||||
* Default: empty
|
||||
@@ -0,0 +1,335 @@
|
||||
CPack IFW Generator
|
||||
-------------------
|
||||
|
||||
See :module:`CPackIFW` for details on the CPackIFW module.
|
||||
|
||||
.. _QtIFW: http://doc.qt.io/qtinstallerframework/index.html
|
||||
|
||||
|
||||
Overview
|
||||
^^^^^^^^
|
||||
|
||||
CPack ``IFW`` generator helps you to create online and offline
|
||||
binary cross-platform installers with a graphical user interface.
|
||||
|
||||
CPack IFW generator prepares project installation and generates configuration
|
||||
and meta information for QtIFW_ tools.
|
||||
|
||||
The QtIFW_ provides a set of tools and utilities to create
|
||||
installers for the supported desktop Qt platforms: Linux, Microsoft Windows,
|
||||
and Mac OS X.
|
||||
|
||||
You should also install QtIFW_ to use CPack ``IFW`` generator.
|
||||
|
||||
Hints
|
||||
^^^^^
|
||||
|
||||
Generally, the CPack ``IFW`` 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:
|
||||
|
||||
.. variable:: CPACK_IFW_ROOT
|
||||
|
||||
An CMake variable which specifies the location of the QtIFW_ tool suite.
|
||||
|
||||
The variable will be cached in the ``CPackConfig.cmake`` file and used at
|
||||
CPack runtime.
|
||||
|
||||
.. variable:: QTIFWDIR
|
||||
|
||||
An environment variable which specifies the location of the QtIFW_ tool
|
||||
suite.
|
||||
|
||||
.. note::
|
||||
The specified path should not contain "bin" at the end
|
||||
(for example: "D:\\DevTools\\QtIFW2.0.5").
|
||||
|
||||
The :variable:`CPACK_IFW_ROOT` variable has a higher priority and overrides
|
||||
the value of the :variable:`QTIFWDIR` variable.
|
||||
|
||||
Internationalization
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Some variables and command arguments support internationalization via
|
||||
CMake script. This is an optional feature.
|
||||
|
||||
Installers created by QtIFW_ tools have built-in support for
|
||||
internationalization and many phrases are localized to many languages,
|
||||
but this does not apply to the description of the your components and groups
|
||||
that will be distributed.
|
||||
|
||||
Localization of the description of your components and groups is useful for
|
||||
users of your installers.
|
||||
|
||||
A localized variable or argument can contain a single default value, and a
|
||||
set of pairs the name of the locale and the localized value.
|
||||
|
||||
For example:
|
||||
|
||||
.. code-block:: cmake
|
||||
|
||||
set(LOCALIZABLE_VARIABLE "Default value"
|
||||
en "English value"
|
||||
en_US "American value"
|
||||
en_GB "Great Britain value"
|
||||
)
|
||||
|
||||
Variables
|
||||
^^^^^^^^^
|
||||
|
||||
You can use the following variables to change behavior of CPack ``IFW``
|
||||
generator.
|
||||
|
||||
Debug
|
||||
"""""
|
||||
|
||||
.. variable:: CPACK_IFW_VERBOSE
|
||||
|
||||
Set to ``ON`` to enable addition debug output.
|
||||
By default is ``OFF``.
|
||||
|
||||
Package
|
||||
"""""""
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_TITLE
|
||||
|
||||
Name of the installer as displayed on the title bar.
|
||||
By default used :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_PUBLISHER
|
||||
|
||||
Publisher of the software (as shown in the Windows Control Panel).
|
||||
By default used :variable:`CPACK_PACKAGE_VENDOR`.
|
||||
|
||||
.. variable:: CPACK_IFW_PRODUCT_URL
|
||||
|
||||
URL to a page that contains product information on your web site.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_ICON
|
||||
|
||||
Filename for a custom installer icon. The actual file is '.icns' (Mac OS X),
|
||||
'.ico' (Windows). No functionality on Unix.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_WINDOW_ICON
|
||||
|
||||
Filename for a custom window icon in PNG format for the Installer
|
||||
application.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_LOGO
|
||||
|
||||
Filename for a logo is used as QWizard::LogoPixmap.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_WATERMARK
|
||||
|
||||
Filename for a watermark is used as QWizard::WatermarkPixmap.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_BANNER
|
||||
|
||||
Filename for a banner is used as QWizard::BannerPixmap.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_BACKGROUND
|
||||
|
||||
Filename for an image used as QWizard::BackgroundPixmap (only used by MacStyle).
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_WIZARD_STYLE
|
||||
|
||||
Wizard style to be used ("Modern", "Mac", "Aero" or "Classic").
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH
|
||||
|
||||
Default width of the wizard in pixels. Setting a banner image will override this.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_WIZARD_DEFAULT_HEIGHT
|
||||
|
||||
Default height of the wizard in pixels. Setting a watermark image will override this.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_TITLE_COLOR
|
||||
|
||||
Color of the titles and subtitles (takes an HTML color code, such as "#88FF33").
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
|
||||
|
||||
Name of the default program group for the product in the Windows Start menu.
|
||||
|
||||
By default used :variable:`CPACK_IFW_PACKAGE_NAME`.
|
||||
|
||||
.. variable:: CPACK_IFW_TARGET_DIRECTORY
|
||||
|
||||
Default target directory for installation.
|
||||
By default used
|
||||
"@ApplicationsDir@/:variable:`CPACK_PACKAGE_INSTALL_DIRECTORY`"
|
||||
|
||||
You can use predefined variables.
|
||||
|
||||
.. variable:: CPACK_IFW_ADMIN_TARGET_DIRECTORY
|
||||
|
||||
Default target directory for installation with administrator rights.
|
||||
|
||||
You can use predefined variables.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_GROUP
|
||||
|
||||
The group, which will be used to configure the root package
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_NAME
|
||||
|
||||
The root package name, which will be used if configuration group is not
|
||||
specified
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
|
||||
|
||||
Filename of the generated maintenance tool.
|
||||
The platform-specific executable file extension is appended.
|
||||
|
||||
By default used QtIFW_ defaults (``maintenancetool``).
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR
|
||||
|
||||
Set to ``OFF`` if the target directory should not be deleted when uninstalling.
|
||||
|
||||
Is ``ON`` by default
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
|
||||
|
||||
Filename for the configuration of the generated maintenance tool.
|
||||
|
||||
By default used QtIFW_ defaults (``maintenancetool.ini``).
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
|
||||
|
||||
Set to ``ON`` if the installation path can contain non-ASCII characters.
|
||||
|
||||
Is ``ON`` for QtIFW_ less 2.0 tools.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
|
||||
|
||||
Set to ``OFF`` if the installation path cannot contain space characters.
|
||||
|
||||
Is ``ON`` for QtIFW_ less 2.0 tools.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_CONTROL_SCRIPT
|
||||
|
||||
Filename for a custom installer control script.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_RESOURCES
|
||||
|
||||
List of additional resources ('.qrc' files) to include in the installer
|
||||
binary.
|
||||
|
||||
You can use :command:`cpack_ifw_add_package_resources` command to resolve
|
||||
relative paths.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGE_FILE_EXTENSION
|
||||
|
||||
The target binary extension.
|
||||
|
||||
On Linux, the name of the target binary is automatically extended with
|
||||
'.run', if you do not specify the extension.
|
||||
|
||||
On Windows, the target is created as an application with the extension
|
||||
'.exe', which is automatically added, if not supplied.
|
||||
|
||||
On Mac, the target is created as an DMG disk image with the extension
|
||||
'.dmg', which is automatically added, if not supplied.
|
||||
|
||||
.. variable:: CPACK_IFW_REPOSITORIES_ALL
|
||||
|
||||
The list of remote repositories.
|
||||
|
||||
The default value of this variable is computed by CPack and contains
|
||||
all repositories added with command :command:`cpack_ifw_add_repository`
|
||||
or updated with command :command:`cpack_ifw_update_repository`.
|
||||
|
||||
.. variable:: CPACK_IFW_DOWNLOAD_ALL
|
||||
|
||||
If this is ``ON`` all components will be downloaded.
|
||||
By default is ``OFF`` or used value
|
||||
from ``CPACK_DOWNLOAD_ALL`` if set
|
||||
|
||||
Components
|
||||
""""""""""
|
||||
|
||||
.. variable:: CPACK_IFW_RESOLVE_DUPLICATE_NAMES
|
||||
|
||||
Resolve duplicate names when installing components with groups.
|
||||
|
||||
.. variable:: CPACK_IFW_PACKAGES_DIRECTORIES
|
||||
|
||||
Additional prepared packages dirs that will be used to resolve
|
||||
dependent components.
|
||||
|
||||
.. variable:: 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.
|
||||
|
||||
Tools
|
||||
"""""
|
||||
|
||||
.. variable:: CPACK_IFW_FRAMEWORK_VERSION
|
||||
|
||||
The version of used QtIFW_ tools.
|
||||
|
||||
.. variable:: CPACK_IFW_BINARYCREATOR_EXECUTABLE
|
||||
|
||||
The path to "binarycreator" command line client.
|
||||
|
||||
This variable is cached and may be configured if needed.
|
||||
|
||||
.. variable:: CPACK_IFW_REPOGEN_EXECUTABLE
|
||||
|
||||
The path to "repogen" command line client.
|
||||
|
||||
This variable is cached and may be configured if needed.
|
||||
|
||||
.. variable:: CPACK_IFW_INSTALLERBASE_EXECUTABLE
|
||||
|
||||
The path to "installerbase" installer executable base.
|
||||
|
||||
This variable is cached and may be configured if needed.
|
||||
|
||||
.. variable:: CPACK_IFW_DEVTOOL_EXECUTABLE
|
||||
|
||||
The path to "devtool" command line client.
|
||||
|
||||
This variable is cached and may be configured if needed.
|
||||
|
||||
|
||||
Online installer
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
||||
By default CPack IFW generator makes offline installer. This means that all
|
||||
components will be packaged into a binary file.
|
||||
|
||||
To make a component downloaded, you must set the ``DOWNLOADED`` option in
|
||||
:command:`cpack_add_component`.
|
||||
|
||||
Then you would use the command :command:`cpack_configure_downloads`.
|
||||
If you set ``ALL`` option all components will be downloaded.
|
||||
|
||||
You also can use command :command:`cpack_ifw_add_repository` and
|
||||
variable :variable:`CPACK_IFW_DOWNLOAD_ALL` for more specific configuration.
|
||||
|
||||
CPack IFW generator creates "repository" dir in current binary dir. You
|
||||
would copy content of this dir to specified ``site`` (``url``).
|
||||
|
||||
See Also
|
||||
^^^^^^^^
|
||||
|
||||
Qt Installer Framework Manual:
|
||||
|
||||
* Index page:
|
||||
http://doc.qt.io/qtinstallerframework/index.html
|
||||
|
||||
* Component Scripting:
|
||||
http://doc.qt.io/qtinstallerframework/scripting.html
|
||||
|
||||
* Predefined Variables:
|
||||
http://doc.qt.io/qtinstallerframework/scripting.html#predefined-variables
|
||||
|
||||
* Promoting Updates:
|
||||
http://doc.qt.io/qtinstallerframework/ifw-updates.html
|
||||
|
||||
Download Qt Installer Framework for you platform from Qt site:
|
||||
http://download.qt.io/official_releases/qt-installer-framework
|
||||
@@ -0,0 +1,130 @@
|
||||
CPack NSIS Generator
|
||||
--------------------
|
||||
|
||||
CPack NSIS generator specific options
|
||||
|
||||
Variables specific to CPack NSIS generator
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The following variables are specific to the graphical installers built
|
||||
on Windows using the Nullsoft Installation System.
|
||||
|
||||
.. variable:: CPACK_NSIS_INSTALL_ROOT
|
||||
|
||||
The default installation directory presented to the end user by the NSIS
|
||||
installer is under this root dir. The full directory presented to the end
|
||||
user is: ${CPACK_NSIS_INSTALL_ROOT}/${CPACK_PACKAGE_INSTALL_DIRECTORY}
|
||||
|
||||
.. variable:: CPACK_NSIS_MUI_ICON
|
||||
|
||||
An icon filename. The name of a ``*.ico`` file used as the main icon for the
|
||||
generated install program.
|
||||
|
||||
.. variable:: CPACK_NSIS_MUI_UNIICON
|
||||
|
||||
An icon filename. The name of a ``*.ico`` file used as the main icon for the
|
||||
generated uninstall program.
|
||||
|
||||
.. variable:: CPACK_NSIS_INSTALLER_MUI_ICON_CODE
|
||||
|
||||
undocumented.
|
||||
|
||||
.. variable:: CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP
|
||||
|
||||
The filename of a bitmap to use as the NSIS MUI_WELCOMEFINISHPAGE_BITMAP.
|
||||
|
||||
.. variable:: CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP
|
||||
|
||||
The filename of a bitmap to use as the NSIS MUI_UNWELCOMEFINISHPAGE_BITMAP.
|
||||
|
||||
.. variable:: 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.
|
||||
|
||||
.. variable:: 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.
|
||||
|
||||
.. variable:: 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.
|
||||
|
||||
.. variable:: CPACK_NSIS_COMPRESSOR
|
||||
|
||||
The arguments that will be passed to the NSIS SetCompressor command.
|
||||
|
||||
.. variable:: CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL
|
||||
|
||||
Ask about uninstalling previous versions first. If this is set to "ON",
|
||||
then an installer will look for previous installed versions and if one is
|
||||
found, ask the user whether to uninstall it before proceeding with the
|
||||
install.
|
||||
|
||||
.. variable:: CPACK_NSIS_MODIFY_PATH
|
||||
|
||||
Modify PATH toggle. If this is set to "ON", then an extra page will appear
|
||||
in the installer that will allow the user to choose whether the program
|
||||
directory should be added to the system PATH variable.
|
||||
|
||||
.. variable:: CPACK_NSIS_DISPLAY_NAME
|
||||
|
||||
The display name string that appears in the Windows Add/Remove Program
|
||||
control panel
|
||||
|
||||
.. variable:: CPACK_NSIS_PACKAGE_NAME
|
||||
|
||||
The title displayed at the top of the installer.
|
||||
|
||||
.. variable:: CPACK_NSIS_INSTALLED_ICON_NAME
|
||||
|
||||
A path to the executable that contains the installer icon.
|
||||
|
||||
.. variable:: CPACK_NSIS_HELP_LINK
|
||||
|
||||
URL to a web site providing assistance in installing your application.
|
||||
|
||||
.. variable:: CPACK_NSIS_URL_INFO_ABOUT
|
||||
|
||||
URL to a web site providing more information about your application.
|
||||
|
||||
.. variable:: CPACK_NSIS_CONTACT
|
||||
|
||||
Contact information for questions and comments about the installation
|
||||
process.
|
||||
|
||||
.. variable:: CPACK_NSIS_<compName>_INSTALL_DIRECTORY
|
||||
|
||||
Custom install directory for the specified component <compName> instead
|
||||
of $INSTDIR.
|
||||
|
||||
.. variable:: CPACK_NSIS_CREATE_ICONS_EXTRA
|
||||
|
||||
Additional NSIS commands for creating start menu shortcuts.
|
||||
|
||||
.. variable:: CPACK_NSIS_DELETE_ICONS_EXTRA
|
||||
|
||||
Additional NSIS commands to uninstall start menu shortcuts.
|
||||
|
||||
.. variable:: CPACK_NSIS_EXECUTABLES_DIRECTORY
|
||||
|
||||
Creating NSIS start menu links assumes that they are in 'bin' unless this
|
||||
variable is set. For example, you would set this to 'exec' if your
|
||||
executables are in an exec directory.
|
||||
|
||||
.. variable:: CPACK_NSIS_MUI_FINISHPAGE_RUN
|
||||
|
||||
Specify an executable to add an option to run on the finish page of the
|
||||
NSIS installer.
|
||||
|
||||
.. variable:: CPACK_NSIS_MENU_LINKS
|
||||
|
||||
Specify links in [application] menu. This should contain a list of pair
|
||||
"link" "link name". The link may be a URL or a path relative to
|
||||
installation prefix. Like::
|
||||
|
||||
set(CPACK_NSIS_MENU_LINKS
|
||||
"doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html"
|
||||
"CMake Help" "https://cmake.org" "CMake Web Site")
|
||||
@@ -0,0 +1,189 @@
|
||||
CPack NuGet Generator
|
||||
---------------------
|
||||
|
||||
When build a NuGet package there is no direct way to control an output
|
||||
filename due a lack of the corresponding CLI option of NuGet, so there
|
||||
is no ``CPACK_NUGET_PACKAGE_FILENAME`` variable. To form the output filename
|
||||
NuGet uses the package name and the version according to its built-in rules.
|
||||
|
||||
Also, be aware that including a top level directory
|
||||
(``CPACK_INCLUDE_TOPLEVEL_DIRECTORY``) is ignored by this generator.
|
||||
|
||||
|
||||
Variables specific to CPack NuGet generator
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The CPack NuGet generator may be used to create NuGet packages using
|
||||
:module:`CPack`. The CPack NuGet generator is a :module:`CPack` generator thus
|
||||
it uses the ``CPACK_XXX`` variables used by :module:`CPack`.
|
||||
|
||||
The CPack NuGet generator has specific features which are controlled by the
|
||||
specifics :code:`CPACK_NUGET_XXX` variables. In the "one per group" mode
|
||||
(see :variable:`CPACK_COMPONENTS_GROUPING`), ``<compName>`` placeholder
|
||||
in the variables below would contain a group name (uppercased and turned into
|
||||
a "C" identifier).
|
||||
|
||||
List of CPack NuGet generator specific variables:
|
||||
|
||||
.. variable:: CPACK_NUGET_COMPONENT_INSTALL
|
||||
|
||||
Enable component packaging for CPack NuGet generator
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : OFF
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_NAME
|
||||
CPACK_NUGET_<compName>_PACKAGE_NAME
|
||||
|
||||
The NUGET package name.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : :variable:`CPACK_PACKAGE_NAME`
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_VERSION
|
||||
CPACK_NUGET_<compName>_PACKAGE_VERSION
|
||||
|
||||
The NuGet package version.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : :variable:`CPACK_PACKAGE_VERSION`
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_DESCRIPTION
|
||||
CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION
|
||||
|
||||
A long description of the package for UI display.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default :
|
||||
- :variable:`CPACK_COMPONENT_<compName>_DESCRIPTION`,
|
||||
- ``CPACK_COMPONENT_GROUP_<groupName>_DESCRIPTION``,
|
||||
- :variable:`CPACK_PACKAGE_DESCRIPTION`
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_AUTHORS
|
||||
CPACK_NUGET_<compName>_PACKAGE_AUTHORS
|
||||
|
||||
A comma-separated list of packages authors, matching the profile names
|
||||
on nuget.org_. These are displayed in the NuGet Gallery on
|
||||
nuget.org_ and are used to cross-reference packages by the same
|
||||
authors.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : :variable:`CPACK_PACKAGE_VENDOR`
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_TITLE
|
||||
CPACK_NUGET_<compName>_PACKAGE_TITLE
|
||||
|
||||
A human-friendly title of the package, typically used in UI displays
|
||||
as on nuget.org_ and the Package Manager in Visual Studio. If not
|
||||
specified, the package ID is used.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default :
|
||||
- :variable:`CPACK_COMPONENT_<compName>_DISPLAY_NAME`,
|
||||
- ``CPACK_COMPONENT_GROUP_<groupName>_DISPLAY_NAME``
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_OWNERS
|
||||
CPACK_NUGET_<compName>_PACKAGE_OWNERS
|
||||
|
||||
A comma-separated list of the package creators using profile names
|
||||
on nuget.org_. This is often the same list as in authors,
|
||||
and is ignored when uploading the package to nuget.org_.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_HOMEPAGE_URL
|
||||
CPACK_NUGET_<compName>_PACKAGE_HOMEPAGE_URL
|
||||
|
||||
A URL for the package's home page, often shown in UI displays as well
|
||||
as nuget.org_.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : :variable:`CPACK_PACKAGE_HOMEPAGE_URL`
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_LICENSEURL
|
||||
CPACK_NUGET_<compName>_PACKAGE_LICENSEURL
|
||||
|
||||
A URL for the package's license, often shown in UI displays as well
|
||||
as nuget.org_.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_ICONURL
|
||||
CPACK_NUGET_<compName>_PACKAGE_ICONURL
|
||||
|
||||
A URL for a 64x64 image with transparency background to use as the
|
||||
icon for the package in UI display.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_DESCRIPTION_SUMMARY
|
||||
CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION_SUMMARY
|
||||
|
||||
A short description of the package for UI display. If omitted, a
|
||||
truncated version of description is used.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_RELEASE_NOTES
|
||||
CPACK_NUGET_<compName>_PACKAGE_RELEASE_NOTES
|
||||
|
||||
A description of the changes made in this release of the package,
|
||||
often used in UI like the Updates tab of the Visual Studio Package
|
||||
Manager in place of the package description.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_COPYRIGHT
|
||||
CPACK_NUGET_<compName>_PACKAGE_COPYRIGHT
|
||||
|
||||
Copyright details for the package.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_TAGS
|
||||
CPACK_NUGET_<compName>_PACKAGE_TAGS
|
||||
|
||||
A space-delimited list of tags and keywords that describe the
|
||||
package and aid discoverability of packages through search and
|
||||
filtering.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_DEPENDENCIES
|
||||
CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES
|
||||
|
||||
A list of package dependencies.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_DEPENDENCIES_<dependency>_VERSION
|
||||
CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES_<dependency>_VERSION
|
||||
|
||||
A `version specification`_ for the particular dependency, where
|
||||
``<dependency>`` is an item of the dependency list (see above)
|
||||
transformed with ``MAKE_C_IDENTIFIER`` function of :command:`string`
|
||||
command.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_DEBUG
|
||||
|
||||
Enable debug messages while executing CPack NuGet generator.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : OFF
|
||||
|
||||
|
||||
.. _nuget.org: http://nuget.org
|
||||
.. _version specification: https://docs.microsoft.com/en-us/nuget/reference/package-versioning#version-ranges-and-wildcards
|
||||
|
||||
.. NuGet spec docs https://docs.microsoft.com/en-us/nuget/reference/nuspec
|
||||
@@ -0,0 +1,23 @@
|
||||
CPack PackageMaker Generator
|
||||
----------------------------
|
||||
|
||||
PackageMaker CPack generator (Mac OS X).
|
||||
|
||||
Variables specific to CPack PackageMaker generator
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The following variable is specific to installers built on Mac
|
||||
OS X using PackageMaker:
|
||||
|
||||
.. variable:: CPACK_OSX_PACKAGE_VERSION
|
||||
|
||||
The version of Mac OS X that the resulting PackageMaker archive should be
|
||||
compatible with. Different versions of Mac OS X support different
|
||||
features. For example, CPack can only build component-based installers for
|
||||
Mac OS X 10.4 or newer, and can only build installers that download
|
||||
component son-the-fly for Mac OS X 10.5 or newer. If left blank, this value
|
||||
will be set to the minimum version of Mac OS X 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 Mac OS X, and
|
||||
don't mind missing extra features available in the installer shipping with
|
||||
later versions of Mac OS X.
|
||||
@@ -0,0 +1,68 @@
|
||||
CPack productbuild Generator
|
||||
----------------------------
|
||||
|
||||
productbuild CPack generator (Mac OS X).
|
||||
|
||||
Variables specific to CPack productbuild generator
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The following variable is specific to installers built on Mac
|
||||
OS X using ProductBuild:
|
||||
|
||||
.. variable:: CPACK_COMMAND_PRODUCTBUILD
|
||||
|
||||
Path to the productbuild(1) command used to generate a product archive for
|
||||
the OS X 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.)
|
||||
|
||||
.. variable:: CPACK_PRODUCTBUILD_IDENTITY_NAME
|
||||
|
||||
Adds a digital signature to the resulting package.
|
||||
|
||||
|
||||
.. variable:: CPACK_PRODUCTBUILD_KEYCHAIN_PATH
|
||||
|
||||
Specify a specific keychain to search for the signing identity.
|
||||
|
||||
|
||||
.. variable:: CPACK_COMMAND_PKGBUILD
|
||||
|
||||
Path to the pkgbuild(1) command used to generate an OS X component package
|
||||
on OS X. This variable can be used to override the automatically detected
|
||||
command (or specify its location if the auto-detection fails to find it.)
|
||||
|
||||
|
||||
.. variable:: CPACK_PKGBUILD_IDENTITY_NAME
|
||||
|
||||
Adds a digital signature to the resulting package.
|
||||
|
||||
|
||||
.. variable:: CPACK_PKGBUILD_KEYCHAIN_PATH
|
||||
|
||||
Specify a specific keychain to search for the signing identity.
|
||||
|
||||
|
||||
.. variable:: CPACK_PREFLIGHT_<COMP>_SCRIPT
|
||||
|
||||
Full path to a file that will be used as the ``preinstall`` script for the
|
||||
named ``<COMP>`` component's package, where ``<COMP>`` is the uppercased
|
||||
component name. No ``preinstall`` script is added if this variable is not
|
||||
defined for a given component.
|
||||
|
||||
|
||||
.. variable:: CPACK_POSTFLIGHT_<COMP>_SCRIPT
|
||||
|
||||
Full path to a file that will be used as the ``postinstall`` script for the
|
||||
named ``<COMP>`` component's package, where ``<COMP>`` is the uppercased
|
||||
component name. No ``postinstall`` script is added if this variable is not
|
||||
defined for a given component.
|
||||
|
||||
|
||||
.. variable:: CPACK_PRODUCTBUILD_RESOURCES_DIR
|
||||
|
||||
If specified the productbuild generator copies files from this directory
|
||||
(including subdirectories) to the ``Resources`` directory. This is done
|
||||
before the :variable:`CPACK_RESOURCE_FILE_WELCOME`,
|
||||
:variable:`CPACK_RESOURCE_FILE_README`, and
|
||||
:variable:`CPACK_RESOURCE_FILE_LICENSE` files are copied.
|
||||
@@ -0,0 +1,955 @@
|
||||
CPack RPM Generator
|
||||
-------------------
|
||||
|
||||
The built in (binary) CPack RPM generator (Unix only)
|
||||
|
||||
Variables specific to CPack RPM generator
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The CPack RPM generator may be used to create RPM packages using :module:`CPack`.
|
||||
The CPack RPM generator is a :module:`CPack` generator thus it uses the
|
||||
``CPACK_XXX`` variables used by :module:`CPack`.
|
||||
|
||||
The CPack RPM generator has specific features which are controlled by the specifics
|
||||
:code:`CPACK_RPM_XXX` variables.
|
||||
|
||||
:code:`CPACK_RPM_<COMPONENT>_XXXX` variables may be used in order to have
|
||||
**component** specific values. Note however that ``<COMPONENT>`` refers to the
|
||||
**grouping name** 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
|
||||
http://www.rpm.org/wiki/Docs
|
||||
|
||||
.. note::
|
||||
|
||||
`<COMPONENT>` part of variables is preferred to be in upper case (for e.g. if
|
||||
component is named `foo` then use `CPACK_RPM_FOO_XXXX` variable name format)
|
||||
as is with other `CPACK_<COMPONENT>_XXXX` variables.
|
||||
For the purposes of back compatibility (CMake/CPack version 3.5 and lower)
|
||||
support for same cased component (e.g. `fOo` would be used as
|
||||
`CPACK_RPM_fOo_XXXX`) 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.
|
||||
|
||||
Here are some CPack RPM generator wiki resources that are here for historic reasons and
|
||||
are no longer maintained but may still prove useful:
|
||||
|
||||
- https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/Configuration
|
||||
- https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/PackageGenerators#rpm-unix-only
|
||||
|
||||
List of CPack RPM generator specific variables:
|
||||
|
||||
.. variable:: CPACK_RPM_COMPONENT_INSTALL
|
||||
|
||||
Enable component packaging for CPack RPM generator
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : OFF
|
||||
|
||||
If enabled (ON) multiple packages are generated. By default a single package
|
||||
containing files of all components is generated.
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_SUMMARY
|
||||
CPACK_RPM_<component>_PACKAGE_SUMMARY
|
||||
|
||||
The RPM package summary.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_NAME
|
||||
CPACK_RPM_<component>_PACKAGE_NAME
|
||||
|
||||
The RPM package name.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : :variable:`CPACK_PACKAGE_NAME`
|
||||
|
||||
.. variable:: CPACK_RPM_FILE_NAME
|
||||
CPACK_RPM_<component>_FILE_NAME
|
||||
|
||||
Package file name.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : ``<CPACK_PACKAGE_FILE_NAME>[-<component>].rpm`` with spaces
|
||||
replaced by '-'
|
||||
|
||||
This may be set to ``RPM-DEFAULT`` to allow rpmbuild tool to generate package
|
||||
file name by itself.
|
||||
Alternatively provided package file name must end with ``.rpm`` suffix.
|
||||
|
||||
.. note::
|
||||
|
||||
By using user provided spec file, rpm macro extensions such as for
|
||||
generating debuginfo 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 it's 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.
|
||||
|
||||
.. variable:: CPACK_RPM_MAIN_COMPONENT
|
||||
|
||||
Main component that is packaged without component suffix.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
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.
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_EPOCH
|
||||
|
||||
The RPM package epoch
|
||||
|
||||
* Mandatory : No
|
||||
* Default : -
|
||||
|
||||
Optional number that should be incremented when changing versioning schemas
|
||||
or fixing mistakes in the version numbers of older packages.
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_VERSION
|
||||
|
||||
The RPM package version.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : :variable:`CPACK_PACKAGE_VERSION`
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_ARCHITECTURE
|
||||
CPACK_RPM_<component>_PACKAGE_ARCHITECTURE
|
||||
|
||||
The RPM package architecture.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : Native architecture output by ``uname -m``
|
||||
|
||||
This may be set to ``noarch`` if you know you are building a noarch package.
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_RELEASE
|
||||
|
||||
The RPM package release.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : 1
|
||||
|
||||
This is the numbering of the RPM package itself, i.e. the version of the
|
||||
packaging and not the version of the content (see
|
||||
:variable:`CPACK_RPM_PACKAGE_VERSION`). 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.
|
||||
|
||||
.. note::
|
||||
|
||||
This is the string that goes into the RPM ``Release:`` field. Some distros
|
||||
(e.g. Fedora, CentOS) require ``1%{?dist}`` format and not just a number.
|
||||
``%{?dist}`` part can be added by setting :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`.
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_RELEASE_DIST
|
||||
|
||||
The dist tag that is added RPM ``Release:`` field.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : OFF
|
||||
|
||||
This is the reported ``%{dist}`` tag from the current distribution or empty
|
||||
``%{dist}`` if RPM macro is not set. If this variable is set then RPM
|
||||
``Release:`` field value is set to ``${CPACK_RPM_PACKAGE_RELEASE}%{?dist}``.
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_LICENSE
|
||||
|
||||
The RPM package license policy.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : "unknown"
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_GROUP
|
||||
CPACK_RPM_<component>_PACKAGE_GROUP
|
||||
|
||||
The RPM package group.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : "unknown"
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_VENDOR
|
||||
|
||||
The RPM package vendor.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : CPACK_PACKAGE_VENDOR if set or "unknown"
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_URL
|
||||
CPACK_RPM_<component>_PACKAGE_URL
|
||||
|
||||
The projects URL.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : :variable:`CMAKE_PROJECT_HOMEPAGE_URL`
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_DESCRIPTION
|
||||
CPACK_RPM_<component>_PACKAGE_DESCRIPTION
|
||||
|
||||
RPM package description.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : :variable:`CPACK_COMPONENT_<compName>_DESCRIPTION` (component
|
||||
based installers only) if set, :variable:`CPACK_PACKAGE_DESCRIPTION_FILE`
|
||||
if set or "no package description available"
|
||||
|
||||
.. variable:: CPACK_RPM_COMPRESSION_TYPE
|
||||
|
||||
RPM compression type.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to override RPM compression type to be used to build the
|
||||
RPM. For example some Linux distribution now default to lzma or xz
|
||||
compression whereas older cannot use such RPM. Using this one can enforce
|
||||
compression type to be used.
|
||||
|
||||
Possible values are:
|
||||
|
||||
- lzma
|
||||
- xz
|
||||
- bzip2
|
||||
- gzip
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_AUTOREQ
|
||||
CPACK_RPM_<component>_PACKAGE_AUTOREQ
|
||||
|
||||
RPM spec autoreq field.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to enable (1, yes) or disable (0, no) automatic shared libraries
|
||||
dependency detection. Dependencies are added to requires list.
|
||||
|
||||
.. note::
|
||||
|
||||
By default automatic dependency detection is enabled by rpm generator.
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_AUTOPROV
|
||||
CPACK_RPM_<component>_PACKAGE_AUTOPROV
|
||||
|
||||
RPM spec autoprov field.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to enable (1, yes) or disable (0, no) automatic listing of shared
|
||||
libraries that are provided by the package. Shared libraries are added to
|
||||
provides list.
|
||||
|
||||
.. note::
|
||||
|
||||
By default automatic provides detection is enabled by rpm generator.
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_AUTOREQPROV
|
||||
CPACK_RPM_<component>_PACKAGE_AUTOREQPROV
|
||||
|
||||
RPM spec autoreqprov field.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
Variable enables/disables autoreq and autoprov at the same time.
|
||||
See :variable:`CPACK_RPM_PACKAGE_AUTOREQ` and :variable:`CPACK_RPM_PACKAGE_AUTOPROV`
|
||||
for more details.
|
||||
|
||||
.. note::
|
||||
|
||||
By default automatic detection feature is enabled by rpm.
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_REQUIRES
|
||||
CPACK_RPM_<component>_PACKAGE_REQUIRES
|
||||
|
||||
RPM spec requires field.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to set RPM dependencies (requires). Note that you must enclose
|
||||
the complete requires string between quotes, for example::
|
||||
|
||||
set(CPACK_RPM_PACKAGE_REQUIRES "python >= 2.5.0, cmake >= 2.8")
|
||||
|
||||
The required package list of an RPM file could be printed with::
|
||||
|
||||
rpm -qp --requires file.rpm
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_CONFLICTS
|
||||
CPACK_RPM_<component>_PACKAGE_CONFLICTS
|
||||
|
||||
RPM spec conflicts field.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to set negative RPM dependencies (conflicts). Note that you must
|
||||
enclose the complete requires string between quotes, for example::
|
||||
|
||||
set(CPACK_RPM_PACKAGE_CONFLICTS "libxml2")
|
||||
|
||||
The conflicting package list of an RPM file could be printed with::
|
||||
|
||||
rpm -qp --conflicts file.rpm
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_REQUIRES_PRE
|
||||
CPACK_RPM_<component>_PACKAGE_REQUIRES_PRE
|
||||
|
||||
RPM spec requires(pre) field.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to set RPM preinstall dependencies (requires(pre)). Note that
|
||||
you must enclose the complete requires string between quotes, for example::
|
||||
|
||||
set(CPACK_RPM_PACKAGE_REQUIRES_PRE "shadow-utils, initscripts")
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_REQUIRES_POST
|
||||
CPACK_RPM_<component>_PACKAGE_REQUIRES_POST
|
||||
|
||||
RPM spec requires(post) field.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to set RPM postinstall dependencies (requires(post)). Note that
|
||||
you must enclose the complete requires string between quotes, for example::
|
||||
|
||||
set(CPACK_RPM_PACKAGE_REQUIRES_POST "shadow-utils, initscripts")
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_REQUIRES_POSTUN
|
||||
CPACK_RPM_<component>_PACKAGE_REQUIRES_POSTUN
|
||||
|
||||
RPM spec requires(postun) field.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to set RPM postuninstall dependencies (requires(postun)). Note
|
||||
that you must enclose the complete requires string between quotes, for
|
||||
example::
|
||||
|
||||
set(CPACK_RPM_PACKAGE_REQUIRES_POSTUN "shadow-utils, initscripts")
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_REQUIRES_PREUN
|
||||
CPACK_RPM_<component>_PACKAGE_REQUIRES_PREUN
|
||||
|
||||
RPM spec requires(preun) field.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to set RPM preuninstall dependencies (requires(preun)). Note that
|
||||
you must enclose the complete requires string between quotes, for example::
|
||||
|
||||
set(CPACK_RPM_PACKAGE_REQUIRES_PREUN "shadow-utils, initscripts")
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_SUGGESTS
|
||||
CPACK_RPM_<component>_PACKAGE_SUGGESTS
|
||||
|
||||
RPM spec suggest field.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to set weak RPM dependencies (suggests). Note that you must
|
||||
enclose the complete requires string between quotes.
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_PROVIDES
|
||||
CPACK_RPM_<component>_PACKAGE_PROVIDES
|
||||
|
||||
RPM spec provides field.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to set RPM dependencies (provides). The provided package list
|
||||
of an RPM file could be printed with::
|
||||
|
||||
rpm -qp --provides file.rpm
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_OBSOLETES
|
||||
CPACK_RPM_<component>_PACKAGE_OBSOLETES
|
||||
|
||||
RPM spec obsoletes field.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to set RPM packages that are obsoleted by this one.
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_RELOCATABLE
|
||||
|
||||
build a relocatable RPM.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : CPACK_PACKAGE_RELOCATABLE
|
||||
|
||||
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::
|
||||
|
||||
rpm --prefix or --relocate
|
||||
|
||||
in order to install it at an alternate place see rpm(8). Note that
|
||||
currently this may fail if :variable:`CPACK_SET_DESTDIR` is set to ``ON``. If
|
||||
:variable:`CPACK_SET_DESTDIR` is set then you will get a warning message but
|
||||
if there is file installed with absolute path you'll get unexpected behavior.
|
||||
|
||||
.. variable:: CPACK_RPM_SPEC_INSTALL_POST
|
||||
|
||||
Deprecated - use :variable:`CPACK_RPM_SPEC_MORE_DEFINE` instead.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
* Deprecated: YES
|
||||
|
||||
May be used to override the ``__spec_install_post`` 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
|
||||
:variable:`CPACK_RPM_POST_INSTALL_SCRIPT_FILE` instead.
|
||||
|
||||
.. variable:: CPACK_RPM_SPEC_MORE_DEFINE
|
||||
|
||||
RPM extended spec definitions lines.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to add any ``%define`` 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)::
|
||||
|
||||
set(CPACK_RPM_SPEC_MORE_DEFINE "%define __spec_install_post /bin/true")
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_DEBUG
|
||||
|
||||
Toggle CPack RPM generator debug output.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be set when invoking cpack in order to trace debug information
|
||||
during CPack RPM run. For example you may launch CPack like this::
|
||||
|
||||
cpack -D CPACK_RPM_PACKAGE_DEBUG=1 -G RPM
|
||||
|
||||
.. variable:: CPACK_RPM_USER_BINARY_SPECFILE
|
||||
CPACK_RPM_<componentName>_USER_BINARY_SPECFILE
|
||||
|
||||
A user provided spec file.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
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).
|
||||
|
||||
.. variable:: CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
|
||||
|
||||
Spec file template.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
If set CPack will generate a template for USER specified binary
|
||||
spec file and stop with an error. For example launch CPack like this::
|
||||
|
||||
cpack -D CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE=1 -G RPM
|
||||
|
||||
The user may then use this file in order to hand-craft is own
|
||||
binary spec file which may be used with
|
||||
:variable:`CPACK_RPM_USER_BINARY_SPECFILE`.
|
||||
|
||||
.. variable:: CPACK_RPM_PRE_INSTALL_SCRIPT_FILE
|
||||
CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE
|
||||
|
||||
Path to file containing pre (un)install script.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to embed a pre (un)installation script in the spec file.
|
||||
The referred script file (or both) will be read and directly
|
||||
put after the ``%pre`` or ``%preun`` section
|
||||
If :variable:`CPACK_RPM_COMPONENT_INSTALL` is set to ON the (un)install
|
||||
script for each component can be overridden with
|
||||
``CPACK_RPM_<COMPONENT>_PRE_INSTALL_SCRIPT_FILE`` and
|
||||
``CPACK_RPM_<COMPONENT>_PRE_UNINSTALL_SCRIPT_FILE``.
|
||||
One may verify which scriptlet has been included with::
|
||||
|
||||
rpm -qp --scripts package.rpm
|
||||
|
||||
.. variable:: CPACK_RPM_POST_INSTALL_SCRIPT_FILE
|
||||
CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE
|
||||
|
||||
Path to file containing post (un)install script.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to embed a post (un)installation script in the spec file.
|
||||
The referred script file (or both) will be read and directly
|
||||
put after the ``%post`` or ``%postun`` section.
|
||||
If :variable:`CPACK_RPM_COMPONENT_INSTALL` is set to ON the (un)install
|
||||
script for each component can be overridden with
|
||||
``CPACK_RPM_<COMPONENT>_POST_INSTALL_SCRIPT_FILE`` and
|
||||
``CPACK_RPM_<COMPONENT>_POST_UNINSTALL_SCRIPT_FILE``.
|
||||
One may verify which scriptlet has been included with::
|
||||
|
||||
rpm -qp --scripts package.rpm
|
||||
|
||||
.. variable:: CPACK_RPM_USER_FILELIST
|
||||
CPACK_RPM_<COMPONENT>_USER_FILELIST
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to explicitly specify ``%(<directive>)`` file line
|
||||
in the spec file. Like ``%config(noreplace)`` or any other directive
|
||||
that be found in the ``%files`` section. You can have multiple directives
|
||||
per line, as in ``%attr(600,root,root) %config(noreplace)``. Since
|
||||
the CPack RPM generator is generating the list of files (and directories) the
|
||||
user specified files of the ``CPACK_RPM_<COMPONENT>_USER_FILELIST`` list will
|
||||
be removed from the generated list. If referring to directories do
|
||||
not add a trailing slash.
|
||||
|
||||
.. variable:: CPACK_RPM_CHANGELOG_FILE
|
||||
|
||||
RPM changelog file.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to embed a changelog in the spec file.
|
||||
The referred file will be read and directly put after the ``%changelog``
|
||||
section.
|
||||
|
||||
.. variable:: CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST
|
||||
|
||||
list of path to be excluded.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : /etc /etc/init.d /usr /usr/bin /usr/include /usr/lib
|
||||
/usr/libx32 /usr/lib64 /usr/share /usr/share/aclocal
|
||||
/usr/share/doc
|
||||
|
||||
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 :variable:`CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION` variable.
|
||||
|
||||
.. variable:: CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
|
||||
|
||||
additional list of path to be excluded.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to add more exclude path (directories or files) from the initial
|
||||
default list of excluded paths. See
|
||||
:variable:`CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST`.
|
||||
|
||||
.. variable:: CPACK_RPM_RELOCATION_PATHS
|
||||
|
||||
Packages relocation paths list.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
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 :variable:`CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX` or by the
|
||||
value of :variable:`CPACK_PACKAGING_INSTALL_PREFIX` 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 :variable:`CPACK_RPM_RELOCATION_PATHS` 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 ``AUTHOR_WARNING`` that RPM will be partially relocatable.
|
||||
|
||||
.. variable:: CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
|
||||
|
||||
Per component relocation path install prefix.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : CPACK_PACKAGING_INSTALL_PREFIX
|
||||
|
||||
May be used to set per component :variable:`CPACK_PACKAGING_INSTALL_PREFIX`
|
||||
for relocatable RPM packages.
|
||||
|
||||
.. variable:: CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION
|
||||
CPACK_RPM_NO_<COMPONENT>_INSTALL_PREFIX_RELOCATION
|
||||
|
||||
Removal of default install prefix from relocation paths list.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : CPACK_PACKAGING_INSTALL_PREFIX or CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
|
||||
are treated as one of relocation paths
|
||||
|
||||
May be used to remove CPACK_PACKAGING_INSTALL_PREFIX and CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
|
||||
from relocatable RPM prefix paths.
|
||||
|
||||
.. variable:: CPACK_RPM_ADDITIONAL_MAN_DIRS
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
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.
|
||||
|
||||
Regular expressions that are added by default were taken from brp-compress
|
||||
RPM macro:
|
||||
|
||||
- /usr/man/man.*
|
||||
- /usr/man/.*/man.*
|
||||
- /usr/info.*
|
||||
- /usr/share/man/man.*
|
||||
- /usr/share/man/.*/man.*
|
||||
- /usr/share/info.*
|
||||
- /usr/kerberos/man.*
|
||||
- /usr/X11R6/man/man.*
|
||||
- /usr/lib/perl5/man/man.*
|
||||
- /usr/share/doc/.*/man/man.*
|
||||
- /usr/lib/.*/man/man.*
|
||||
|
||||
.. variable:: CPACK_RPM_DEFAULT_USER
|
||||
CPACK_RPM_<compName>_DEFAULT_USER
|
||||
|
||||
default user ownership of RPM content
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : root
|
||||
|
||||
Value should be user name and not UID.
|
||||
Note that <compName> must be in upper-case.
|
||||
|
||||
.. variable:: CPACK_RPM_DEFAULT_GROUP
|
||||
CPACK_RPM_<compName>_DEFAULT_GROUP
|
||||
|
||||
default group ownership of RPM content
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : root
|
||||
|
||||
Value should be group name and not GID.
|
||||
Note that <compName> must be in upper-case.
|
||||
|
||||
.. variable:: CPACK_RPM_DEFAULT_FILE_PERMISSIONS
|
||||
CPACK_RPM_<compName>_DEFAULT_FILE_PERMISSIONS
|
||||
|
||||
default permissions used for packaged files
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : - (system default)
|
||||
|
||||
Accepted values are lists with ``PERMISSIONS``. Valid permissions
|
||||
are:
|
||||
|
||||
- OWNER_READ
|
||||
- OWNER_WRITE
|
||||
- OWNER_EXECUTE
|
||||
- GROUP_READ
|
||||
- GROUP_WRITE
|
||||
- GROUP_EXECUTE
|
||||
- WORLD_READ
|
||||
- WORLD_WRITE
|
||||
- WORLD_EXECUTE
|
||||
|
||||
Note that <compName> must be in upper-case.
|
||||
|
||||
.. variable:: CPACK_RPM_DEFAULT_DIR_PERMISSIONS
|
||||
CPACK_RPM_<compName>_DEFAULT_DIR_PERMISSIONS
|
||||
|
||||
default permissions used for packaged directories
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : - (system default)
|
||||
|
||||
Accepted values are lists with PERMISSIONS. Valid permissions
|
||||
are the same as for :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`.
|
||||
Note that <compName> must be in upper-case.
|
||||
|
||||
.. variable:: CPACK_RPM_INSTALL_WITH_EXEC
|
||||
|
||||
force execute permissions on programs and shared libraries
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : - (system default)
|
||||
|
||||
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.
|
||||
|
||||
.. note::
|
||||
|
||||
Programs and shared libraries without execute permissions are ignored during
|
||||
separation of debug symbols from the binary for debuginfo packages.
|
||||
|
||||
Packaging of Symbolic Links
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The CPack RPM generator supports packaging of symbolic links::
|
||||
|
||||
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)
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
Symbolic links that point to locations outside packaging path produce a
|
||||
warning and are treated as non relocatable permanent symbolic links.
|
||||
|
||||
Currently there are a few limitations though:
|
||||
|
||||
* 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.
|
||||
|
||||
* 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.
|
||||
|
||||
Packaging of debug information
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Debuginfo packages contain debug symbols and sources for debugging packaged
|
||||
binaries.
|
||||
|
||||
Debuginfo RPM packaging has it's own set of variables:
|
||||
|
||||
.. variable:: CPACK_RPM_DEBUGINFO_PACKAGE
|
||||
CPACK_RPM_<component>_DEBUGINFO_PACKAGE
|
||||
|
||||
Enable generation of debuginfo RPM package(s).
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : OFF
|
||||
|
||||
.. note::
|
||||
|
||||
Binaries must contain debug symbols before packaging so use either ``Debug``
|
||||
or ``RelWithDebInfo`` for :variable:`CMAKE_BUILD_TYPE` variable value.
|
||||
|
||||
.. note::
|
||||
|
||||
Packages generated from packages without binary files, with binary files but
|
||||
without execute permissions or without debug symbols will cause packaging
|
||||
termination.
|
||||
|
||||
.. variable:: CPACK_BUILD_SOURCE_DIRS
|
||||
|
||||
Provides locations of root directories of source files from which binaries
|
||||
were built.
|
||||
|
||||
* Mandatory : YES if :variable:`CPACK_RPM_DEBUGINFO_PACKAGE` is set
|
||||
* Default : -
|
||||
|
||||
.. note::
|
||||
|
||||
For CMake project :variable:`CPACK_BUILD_SOURCE_DIRS` is set by default to
|
||||
point to :variable:`CMAKE_SOURCE_DIR` and :variable:`CMAKE_BINARY_DIR` paths.
|
||||
|
||||
.. note::
|
||||
|
||||
Sources with path prefixes that do not fall under any location provided with
|
||||
:variable:`CPACK_BUILD_SOURCE_DIRS` will not be present in debuginfo package.
|
||||
|
||||
.. variable:: CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX
|
||||
CPACK_RPM_<component>_BUILD_SOURCE_DIRS_PREFIX
|
||||
|
||||
Prefix of location where sources will be placed during package installation.
|
||||
|
||||
* Mandatory : YES if :variable:`CPACK_RPM_DEBUGINFO_PACKAGE` is set
|
||||
* Default : "/usr/src/debug/<CPACK_PACKAGE_FILE_NAME>" and
|
||||
for component packaging "/usr/src/debug/<CPACK_PACKAGE_FILE_NAME>-<component>"
|
||||
|
||||
.. note::
|
||||
|
||||
Each source path prefix is additionally suffixed by ``src_<index>`` where
|
||||
index is index of the path used from :variable:`CPACK_BUILD_SOURCE_DIRS`
|
||||
variable. This produces ``<CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX>/src_<index>``
|
||||
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
|
||||
:variable:`CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX` variable has to be set to
|
||||
a shorter path or source directories must be placed on a longer path.
|
||||
|
||||
.. variable:: CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS
|
||||
|
||||
Directories containing sources that should be excluded from debuginfo packages.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : "/usr /usr/src /usr/src/debug"
|
||||
|
||||
Listed paths are owned by other RPM packages and should therefore not be
|
||||
deleted on debuginfo package uninstallation.
|
||||
|
||||
.. variable:: CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS_ADDITION
|
||||
|
||||
Paths that should be appended to :variable:`CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS`
|
||||
for exclusion.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE
|
||||
|
||||
Create a single debuginfo package even if components packaging is set.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : OFF
|
||||
|
||||
When this variable is enabled it produces a single debuginfo package even if
|
||||
component packaging is enabled.
|
||||
|
||||
When using this feature in combination with components packaging and there is
|
||||
more than one component this variable requires :variable:`CPACK_RPM_MAIN_COMPONENT`
|
||||
to be set.
|
||||
|
||||
.. note::
|
||||
|
||||
If none of the :variable:`CPACK_RPM_<component>_DEBUGINFO_PACKAGE` variables
|
||||
is set then :variable:`CPACK_RPM_DEBUGINFO_PACKAGE` is automatically set to
|
||||
``ON`` when :variable:`CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE` is set.
|
||||
|
||||
.. variable:: CPACK_RPM_DEBUGINFO_FILE_NAME
|
||||
CPACK_RPM_<component>_DEBUGINFO_FILE_NAME
|
||||
|
||||
Debuginfo package file name.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : rpmbuild tool generated package file name
|
||||
|
||||
Alternatively provided debuginfo package file name must end with ``.rpm``
|
||||
suffix and should differ from file names of other generated packages.
|
||||
|
||||
Variable may contain ``@cpack_component@`` placeholder which will be
|
||||
replaced by component name if component packaging is enabled otherwise it
|
||||
deletes the placeholder.
|
||||
|
||||
Setting the variable to ``RPM-DEFAULT`` may be used to explicitly set
|
||||
filename generation to default.
|
||||
|
||||
.. note::
|
||||
|
||||
:variable:`CPACK_RPM_FILE_NAME` also supports rpmbuild tool generated package
|
||||
file name - disabled by default but can be enabled by setting the variable to
|
||||
``RPM-DEFAULT``.
|
||||
|
||||
Packaging of sources (SRPM)
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
SRPM packaging is enabled by setting :variable:`CPACK_RPM_PACKAGE_SOURCES`
|
||||
variable while usually using :variable:`CPACK_INSTALLED_DIRECTORIES` variable
|
||||
to provide directory containing CMakeLists.txt and source files.
|
||||
|
||||
For CMake projects SRPM package would be produced by executing::
|
||||
|
||||
cpack -G RPM --config ./CPackSourceConfig.cmake
|
||||
|
||||
.. note::
|
||||
|
||||
Produced SRPM package is expected to be built with :manual:`cmake(1)` executable
|
||||
and packaged with :manual:`cpack(1)` executable so CMakeLists.txt has to be
|
||||
located in root source directory and must be able to generate binary rpm
|
||||
packages by executing ``cpack -G`` command. The two executables as well as
|
||||
rpmbuild must also be present when generating binary rpm packages from the
|
||||
produced SRPM package.
|
||||
|
||||
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::
|
||||
|
||||
mkdir -p build_dir/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
|
||||
rpmbuild --define "_topdir <path_to_build_dir>" --rebuild <SRPM_file_name>
|
||||
|
||||
Generated packages will be located in build_dir/RPMS directory or its sub
|
||||
directories.
|
||||
|
||||
.. note::
|
||||
|
||||
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.
|
||||
|
||||
Source RPM packaging has it's own set of variables:
|
||||
|
||||
.. variable:: CPACK_RPM_PACKAGE_SOURCES
|
||||
|
||||
Should the content be packaged as a source rpm (default is binary rpm).
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : OFF
|
||||
|
||||
.. note::
|
||||
|
||||
For cmake projects :variable:`CPACK_RPM_PACKAGE_SOURCES` variable is set
|
||||
to ``OFF`` in CPackConfig.cmake and ``ON`` in CPackSourceConfig.cmake
|
||||
generated files.
|
||||
|
||||
.. variable:: CPACK_RPM_SOURCE_PKG_BUILD_PARAMS
|
||||
|
||||
Additional command-line parameters provided to :manual:`cmake(1)` executable.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX
|
||||
|
||||
Packaging install prefix that would be provided in :variable:`CPACK_PACKAGING_INSTALL_PREFIX`
|
||||
variable for producing binary RPM packages.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : "/"
|
||||
|
||||
.. VARIABLE:: CPACK_RPM_BUILDREQUIRES
|
||||
|
||||
List of source rpm build dependencies.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
May be used to set source RPM build dependencies (BuildRequires). Note that
|
||||
you must enclose the complete build requirements string between quotes, for
|
||||
example::
|
||||
|
||||
set(CPACK_RPM_BUILDREQUIRES "python >= 2.5.0, cmake >= 2.8")
|
||||
@@ -0,0 +1,284 @@
|
||||
CPack WiX Generator
|
||||
-------------------
|
||||
|
||||
CPack WiX generator specific options
|
||||
|
||||
Variables specific to CPack WiX generator
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
The following variables are specific to the installers built on
|
||||
Windows using WiX.
|
||||
|
||||
.. variable:: CPACK_WIX_UPGRADE_GUID
|
||||
|
||||
Upgrade GUID (``Product/@UpgradeCode``)
|
||||
|
||||
Will be automatically generated unless explicitly provided.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
A GUID shall have the following fixed length syntax::
|
||||
|
||||
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
||||
|
||||
(each X represents an uppercase hexadecimal digit)
|
||||
|
||||
.. variable:: CPACK_WIX_PRODUCT_GUID
|
||||
|
||||
Product GUID (``Product/@Id``)
|
||||
|
||||
Will be automatically generated unless explicitly provided.
|
||||
|
||||
If explicitly provided this will set the Product Id of your installer.
|
||||
|
||||
The installer will abort if it detects a pre-existing installation that
|
||||
uses the same GUID.
|
||||
|
||||
The GUID shall use the syntax described for CPACK_WIX_UPGRADE_GUID.
|
||||
|
||||
.. variable:: CPACK_WIX_LICENSE_RTF
|
||||
|
||||
RTF License File
|
||||
|
||||
If CPACK_RESOURCE_FILE_LICENSE has an .rtf extension it is used as-is.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
.. variable:: CPACK_WIX_PRODUCT_ICON
|
||||
|
||||
The Icon shown next to the program name in Add/Remove programs.
|
||||
|
||||
If set, this icon is used in place of the default icon.
|
||||
|
||||
.. variable:: CPACK_WIX_UI_REF
|
||||
|
||||
This variable allows you to override the Id of the ``<UIRef>`` element
|
||||
in the WiX template.
|
||||
|
||||
The default is ``WixUI_InstallDir`` in case no CPack components have
|
||||
been defined and ``WixUI_FeatureTree`` otherwise.
|
||||
|
||||
.. variable:: CPACK_WIX_UI_BANNER
|
||||
|
||||
The bitmap will appear at the top of all installer pages other than the
|
||||
welcome and completion dialogs.
|
||||
|
||||
If set, this image will replace the default banner image.
|
||||
|
||||
This image must be 493 by 58 pixels.
|
||||
|
||||
.. variable:: CPACK_WIX_UI_DIALOG
|
||||
|
||||
Background bitmap used on the welcome and completion dialogs.
|
||||
|
||||
If this variable is set, the installer will replace the default dialog
|
||||
image.
|
||||
|
||||
This image must be 493 by 312 pixels.
|
||||
|
||||
.. variable:: CPACK_WIX_PROGRAM_MENU_FOLDER
|
||||
|
||||
Start menu folder name for launcher.
|
||||
|
||||
If this variable is not set, it will be initialized with CPACK_PACKAGE_NAME
|
||||
|
||||
.. variable:: CPACK_WIX_CULTURES
|
||||
|
||||
Language(s) of the installer
|
||||
|
||||
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:
|
||||
http://wix.sourceforge.net/manual-wix3/WixUI_localization.htm
|
||||
|
||||
.. variable:: CPACK_WIX_TEMPLATE
|
||||
|
||||
Template file for WiX generation
|
||||
|
||||
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.
|
||||
|
||||
If this variable is not set, the default MSI template included with CMake
|
||||
will be used.
|
||||
|
||||
.. variable:: CPACK_WIX_PATCH_FILE
|
||||
|
||||
Optional list of XML files with fragments to be inserted into
|
||||
generated WiX sources
|
||||
|
||||
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.
|
||||
|
||||
Patch files understood by the CPack WiX generator
|
||||
roughly follow this RELAX NG compact schema:
|
||||
|
||||
.. code-block:: none
|
||||
|
||||
start = CPackWiXPatch
|
||||
|
||||
CPackWiXPatch = element CPackWiXPatch { CPackWiXFragment* }
|
||||
|
||||
CPackWiXFragment = element CPackWiXFragment
|
||||
{
|
||||
attribute Id { string },
|
||||
fragmentContent*
|
||||
}
|
||||
|
||||
fragmentContent = element * - CPackWiXFragment
|
||||
{
|
||||
(attribute * { text } | text | fragmentContent)*
|
||||
}
|
||||
|
||||
Currently fragments can be injected into most
|
||||
Component, File, Directory and Feature elements.
|
||||
|
||||
The following additional special Ids can be used:
|
||||
|
||||
* ``#PRODUCT`` for the ``<Product>`` element.
|
||||
* ``#PRODUCTFEATURE`` for the root ``<Feature>`` element.
|
||||
|
||||
The following example illustrates how this works.
|
||||
|
||||
Given that the WiX generator creates the following XML element:
|
||||
|
||||
.. code-block:: xml
|
||||
|
||||
<Component Id="CM_CP_applications.bin.my_libapp.exe" Guid="*"/>
|
||||
|
||||
The following XML patch file may be used to inject an Environment element
|
||||
into it:
|
||||
|
||||
.. code-block:: xml
|
||||
|
||||
<CPackWiXPatch>
|
||||
<CPackWiXFragment Id="CM_CP_applications.bin.my_libapp.exe">
|
||||
<Environment Id="MyEnvironment" Action="set"
|
||||
Name="MyVariableName" Value="MyVariableValue"/>
|
||||
</CPackWiXFragment>
|
||||
</CPackWiXPatch>
|
||||
|
||||
.. variable:: CPACK_WIX_EXTRA_SOURCES
|
||||
|
||||
Extra WiX source files
|
||||
|
||||
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.
|
||||
|
||||
.. variable:: CPACK_WIX_EXTRA_OBJECTS
|
||||
|
||||
Extra WiX object files or libraries
|
||||
|
||||
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.
|
||||
|
||||
.. variable:: CPACK_WIX_EXTENSIONS
|
||||
|
||||
This variable provides a list of additional extensions for the WiX
|
||||
tools light and candle.
|
||||
|
||||
.. variable:: CPACK_WIX_<TOOL>_EXTENSIONS
|
||||
|
||||
This is the tool specific version of CPACK_WIX_EXTENSIONS.
|
||||
``<TOOL>`` can be either LIGHT or CANDLE.
|
||||
|
||||
.. variable:: CPACK_WIX_<TOOL>_EXTRA_FLAGS
|
||||
|
||||
This list variable allows you to pass additional
|
||||
flags to the WiX tool ``<TOOL>``.
|
||||
|
||||
Use it at your own risk.
|
||||
Future versions of CPack may generate flags which may be in conflict
|
||||
with your own flags.
|
||||
|
||||
``<TOOL>`` can be either LIGHT or CANDLE.
|
||||
|
||||
.. variable:: CPACK_WIX_CMAKE_PACKAGE_REGISTRY
|
||||
|
||||
If this variable is set the generated installer will create
|
||||
an entry in the windows registry key
|
||||
``HKEY_LOCAL_MACHINE\Software\Kitware\CMake\Packages\<package>``
|
||||
The value for ``<package>`` is provided by this variable.
|
||||
|
||||
Assuming you also install a CMake configuration file this will
|
||||
allow other CMake projects to find your package with
|
||||
the :command:`find_package` command.
|
||||
|
||||
.. variable:: CPACK_WIX_PROPERTY_<PROPERTY>
|
||||
|
||||
This variable can be used to provide a value for
|
||||
the Windows Installer property ``<PROPERTY>``
|
||||
|
||||
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")
|
||||
|
||||
* ARPCOMMENTS - Comments
|
||||
* ARPHELPLINK - Help and support information URL
|
||||
* ARPURLINFOABOUT - General information URL
|
||||
* ARPURLUPDATEINFO - Update information URL
|
||||
* ARPHELPTELEPHONE - Help and support telephone number
|
||||
* ARPSIZE - Size (in kilobytes) of the application
|
||||
|
||||
.. variable:: 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.
|
||||
|
||||
.. variable:: 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.
|
||||
|
||||
.. variable:: 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.
|
||||
|
||||
.. note::
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
.. variable:: CPACK_WIX_ROOT_FOLDER_ID
|
||||
|
||||
This variable allows specification of a custom root folder ID.
|
||||
The generator specific ``<64>`` 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 ``64``.
|
||||
|
||||
When unset generated installers will default installing to
|
||||
``ProgramFiles<64>Folder``.
|
||||
|
||||
.. variable:: CPACK_WIX_ROOT
|
||||
|
||||
This variable can optionally be set to the root directory
|
||||
of a custom WiX Toolset installation.
|
||||
|
||||
When unspecified CPack will try to locate a WiX Toolset
|
||||
installation via the ``WIX`` environment variable instead.
|
||||
@@ -41,6 +41,7 @@ Reference Manuals
|
||||
/manual/cmake-server.7
|
||||
/manual/cmake-toolchains.7
|
||||
/manual/cmake-variables.7
|
||||
/manual/cpack-generators.7
|
||||
|
||||
.. only:: html or text
|
||||
|
||||
|
||||
@@ -54,22 +54,10 @@ All Modules
|
||||
/module/CMakePrintSystemInformation
|
||||
/module/CMakePushCheckState
|
||||
/module/CMakeVerifyManifest
|
||||
/module/CPackArchive
|
||||
/module/CPackBundle
|
||||
/module/CPackComponent
|
||||
/module/CPackCygwin
|
||||
/module/CPackDeb
|
||||
/module/CPackDMG
|
||||
/module/CPackFreeBSD
|
||||
/module/CPackIFW
|
||||
/module/CPackIFWConfigureFile
|
||||
/module/CPackNSIS
|
||||
/module/CPackNuGet
|
||||
/module/CPackPackageMaker
|
||||
/module/CPackProductBuild
|
||||
/module/CPackRPM
|
||||
/module/CPack
|
||||
/module/CPackWIX
|
||||
/module/CSharpUtilities
|
||||
/module/CTest
|
||||
/module/CTestCoverageCollectGCOV
|
||||
@@ -263,3 +251,26 @@ All Modules
|
||||
/module/Use_wxWindows
|
||||
/module/WriteBasicConfigVersionFile
|
||||
/module/WriteCompilerDetectionHeader
|
||||
|
||||
Legacy CPack Modules
|
||||
====================
|
||||
|
||||
These modules used to be mistakenly exposed to the user, and have been moved
|
||||
out of user visibility. They are for CPack internal use, and should never be
|
||||
used directly.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
/module/CPackArchive
|
||||
/module/CPackBundle
|
||||
/module/CPackCygwin
|
||||
/module/CPackDeb
|
||||
/module/CPackDMG
|
||||
/module/CPackFreeBSD
|
||||
/module/CPackNSIS
|
||||
/module/CPackNuGet
|
||||
/module/CPackPackageMaker
|
||||
/module/CPackProductBuild
|
||||
/module/CPackRPM
|
||||
/module/CPackWIX
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
.. cmake-manual-description: CPack Generator Reference
|
||||
|
||||
cpack-generators(7)
|
||||
*******************
|
||||
|
||||
.. only:: html
|
||||
|
||||
.. contents::
|
||||
|
||||
Generators
|
||||
==========
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
/cpack_gen/archive
|
||||
/cpack_gen/bundle
|
||||
/cpack_gen/cygwin
|
||||
/cpack_gen/deb
|
||||
/cpack_gen/dmg
|
||||
/cpack_gen/freebsd
|
||||
/cpack_gen/ifw
|
||||
/cpack_gen/nsis
|
||||
/cpack_gen/nuget
|
||||
/cpack_gen/packagemaker
|
||||
/cpack_gen/productbuild
|
||||
/cpack_gen/rpm
|
||||
/cpack_gen/wix
|
||||
@@ -1 +1,4 @@
|
||||
.. cmake-module:: ../../Modules/CPackArchive.cmake
|
||||
CPackArchive
|
||||
------------
|
||||
|
||||
The documentation for the CPack Archive generator has moved here: :cpack_gen:`CPack Archive Generator`
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
.. cmake-module:: ../../Modules/CPackBundle.cmake
|
||||
CPackBundle
|
||||
-----------
|
||||
|
||||
The documentation for the CPack Bundle generator has moved here: :cpack_gen:`CPack Bundle Generator`
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
.. cmake-module:: ../../Modules/CPackCygwin.cmake
|
||||
CPackCygwin
|
||||
-----------
|
||||
|
||||
The documentation for the CPack Cygwin generator has moved here: :cpack_gen:`CPack Cygwin Generator`
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
.. cmake-module:: ../../Modules/CPackDMG.cmake
|
||||
CPackDMG
|
||||
--------
|
||||
|
||||
The documentation for the CPack DMG generator has moved here: :cpack_gen:`CPack DMG Generator`
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
.. cmake-module:: ../../Modules/CPackDeb.cmake
|
||||
CPackDeb
|
||||
--------
|
||||
|
||||
The documentation for the CPack Deb generator has moved here: :cpack_gen:`CPack Deb Generator`
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
.. cmake-module:: ../../Modules/CPackFreeBSD.cmake
|
||||
CPackFreeBSD
|
||||
------------
|
||||
|
||||
The documentation for the CPack FreeBSD generator has moved here: :cpack_gen:`CPack FreeBSD Generator`
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
.. cmake-module:: ../../Modules/CPackNSIS.cmake
|
||||
CPackNSIS
|
||||
---------
|
||||
|
||||
The documentation for the CPack NSIS generator has moved here: :cpack_gen:`CPack NSIS Generator`
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
.. cmake-module:: ../../Modules/CPackNuGet.cmake
|
||||
CPackNuGet
|
||||
----------
|
||||
|
||||
The documentation for the CPack NuGet generator has moved here: :cpack_gen:`CPack NuGet Generator`
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
.. cmake-module:: ../../Modules/CPackPackageMaker.cmake
|
||||
CPackPackageMaker
|
||||
-----------------
|
||||
|
||||
The documentation for the CPack PackageMaker generator has moved here: :cpack_gen:`CPack PackageMaker Generator`
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
.. cmake-module:: ../../Modules/CPackProductBuild.cmake
|
||||
CPackProductBuild
|
||||
-----------------
|
||||
|
||||
The documentation for the CPack productbuild generator has moved here: :cpack_gen:`CPack productbuild Generator`
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
.. cmake-module:: ../../Modules/CPackRPM.cmake
|
||||
CPackRPM
|
||||
--------
|
||||
|
||||
The documentation for the CPack RPM generator has moved here: :cpack_gen:`CPack RPM Generator`
|
||||
|
||||
@@ -1 +1,4 @@
|
||||
.. cmake-module:: ../../Modules/CPackWIX.cmake
|
||||
CPackWIX
|
||||
--------
|
||||
|
||||
The documentation for the CPack WiX generator has moved here: :cpack_gen:`CPack WiX Generator`
|
||||
|
||||
@@ -289,12 +289,12 @@ CPack
|
||||
-----
|
||||
|
||||
* :manual:`cpack(1)` gained an ``IFW`` generator to package using
|
||||
Qt Framework Installer tools. See the :module:`CPackIFW` module.
|
||||
Qt Framework Installer tools. See the :cpack_gen:`CPack IFW Generator`.
|
||||
|
||||
* :manual:`cpack(1)` gained ``7Z`` and ``TXZ`` generators supporting
|
||||
lzma-compressed archives.
|
||||
|
||||
* The :module:`CPackDeb` module learned a new
|
||||
* The :cpack_gen:`CPack Deb Generator` learned a new
|
||||
:variable:`CPACK_DEBIAN_COMPRESSION_TYPE` variable to set the
|
||||
tarball compression type.
|
||||
|
||||
|
||||
+12
-14
@@ -184,37 +184,35 @@ CTest
|
||||
CPack
|
||||
-----
|
||||
|
||||
* CPack gained a ``FREEBSD`` generator for FreeBSD ``pkg(8)``, configured
|
||||
by the :module:`CPackFreeBSD` module.
|
||||
* A :cpack_gen:`CPack FreeBSD Generator` was added for FreeBSD ``pkg(8)``.
|
||||
|
||||
* The CPack ``DEB`` generator, configured by the :module:`CPackDeb` module,
|
||||
was enabled on Windows. While not fully featured (due to the lack of
|
||||
external UNIX tools) this will allow building basic cross-platform Debian
|
||||
packages.
|
||||
* The :cpack_gen:`CPack Deb Generator` was enabled on Windows. While not
|
||||
fully featured (due to the lack of external UNIX tools) this will allow
|
||||
building basic cross-platform Debian packages.
|
||||
|
||||
* The :module:`CPackDeb` module learned to set package release version in
|
||||
``Version`` info property.
|
||||
* The :cpack_gen:`CPack Deb Generator` learned to set package release
|
||||
version in ``Version`` info property.
|
||||
See the :variable:`CPACK_DEBIAN_PACKAGE_RELEASE` variable.
|
||||
|
||||
* The :module:`CPackDeb` module learned more strict package version checking
|
||||
that complies with Debian rules.
|
||||
* The :cpack_gen:`CPack Deb Generator` learned more strict package
|
||||
version checking that complies with Debian rules.
|
||||
|
||||
* The :module:`CPackIFW` module :command:`cpack_ifw_configure_component` and
|
||||
:command:`cpack_ifw_configure_component_group` commands gained a new
|
||||
``REPLACES`` and ``CHECKABLE`` options.
|
||||
|
||||
* The :module:`CPackIFW` module gained new
|
||||
* The :cpack_gen:`CPack IFW Generator` gained new
|
||||
:variable:`CPACK_IFW_PACKAGE_FILE_EXTENSION` variable to customize
|
||||
target binary format.
|
||||
|
||||
* The :module:`CPackIFW` module gained new
|
||||
* The :cpack_gen:`CPack IFW Generator` gained new
|
||||
:variable:`CPACK_IFW_REPOSITORIES_DIRECTORIES` variable to specify
|
||||
additional repositories dirs that will be used to resolve and
|
||||
repack dependent components. This feature is only available when
|
||||
using QtIFW 3.1 or later.
|
||||
|
||||
* Modules :module:`CPackRPM` and :module:`CPackDeb` learned to set package epoch
|
||||
version.
|
||||
* The :cpack_gen:`CPack RPM Generator` and :cpack_gen:`CPack Deb Generator`
|
||||
learned to set the package epoch version.
|
||||
See :variable:`CPACK_RPM_PACKAGE_EPOCH` and
|
||||
:variable:`CPACK_DEBIAN_PACKAGE_EPOCH` variables.
|
||||
|
||||
|
||||
@@ -200,11 +200,11 @@ CPack
|
||||
|
||||
* :manual:`cpack(1)` gained ``--trace`` and ``--trace-expand`` options.
|
||||
|
||||
* The :module:`CPackIFW` module gained new
|
||||
* The :cpack_gen:`CPack IFW Generator` gained new
|
||||
:variable:`CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR` variable to control
|
||||
if the target directory should not be deleted when uninstalling.
|
||||
|
||||
* The :module:`CPackRPM` module learned to enable enforcing of execute
|
||||
* The :cpack_gen:`CPack RPM Generator` learned to enable enforcing of execute
|
||||
privileges on programs and shared libraries.
|
||||
See :variable:`CPACK_RPM_INSTALL_WITH_EXEC` variable.
|
||||
|
||||
|
||||
@@ -237,8 +237,8 @@ CPack
|
||||
:variable:`CMAKE_PROJECT_VERSION_PATCH`
|
||||
to initialize corresponding CPack variables.
|
||||
|
||||
* :manual:`cpack(1)` gained basic support for `NuGet`_.
|
||||
See the :module:`CPackNuGet` module.
|
||||
* A :cpack_gen:`CPack NuGet Generator` was was added with basic
|
||||
support for `NuGet`_.
|
||||
|
||||
.. _NuGet: https://docs.microsoft.com/en-us/nuget/what-is-nuget
|
||||
|
||||
|
||||
@@ -156,27 +156,27 @@ CTest
|
||||
CPack
|
||||
-----
|
||||
|
||||
* The :module:`CPackRPM` module learned options to set per-component
|
||||
* The :cpack_gen:`CPack RPM Generator` learned options to set per-component
|
||||
descriptions and summaries. See the
|
||||
:variable:`CPACK_RPM_<component>_PACKAGE_DESCRIPTION` and
|
||||
:variable:`CPACK_RPM_<component>_PACKAGE_SUMMARY` variables.
|
||||
|
||||
* The :module:`CPackRPM` module learned options to specify
|
||||
* The :cpack_gen:`CPack RPM Generator` learned options to specify
|
||||
requirements for pre- and post-install scripts. See the
|
||||
:variable:`CPACK_RPM_PACKAGE_REQUIRES_PRE` and
|
||||
:variable:`CPACK_RPM_PACKAGE_REQUIRES_POST` variables.
|
||||
|
||||
* The :module:`CPackRPM` module learned options to specify
|
||||
* The :cpack_gen:`CPack RPM Generator` learned options to specify
|
||||
requirements for pre- and post-uninstall scripts. See the
|
||||
:variable:`CPACK_RPM_PACKAGE_REQUIRES_PREUN` and
|
||||
:variable:`CPACK_RPM_PACKAGE_REQUIRES_POSTUN` variables.
|
||||
|
||||
* The :module:`CPackRPM` module learned a new
|
||||
* The :cpack_gen:`CPack RPM Generator` learned a new
|
||||
:variable:`CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX` variable to
|
||||
specify a component-specific value to use instead of
|
||||
:variable:`CPACK_PACKAGING_INSTALL_PREFIX`.
|
||||
|
||||
* The :module:`CPackRPM` module learned a new
|
||||
* The :cpack_gen:`CPack RPM Generator` learned a new
|
||||
:variable:`CPACK_RPM_RELOCATION_PATHS` variable to
|
||||
specify multiple relocation prefixes for a single rpm package.
|
||||
|
||||
|
||||
@@ -169,26 +169,26 @@ CTest
|
||||
CPack
|
||||
-----
|
||||
|
||||
* The :manual:`cpack(1)` ``IFW`` generator and the :module:`CPackIFW`
|
||||
module learned to support Qt Framework Installer 2.0 tools.
|
||||
* The :cpack_gen:`CPack IFW Generator` learned to support
|
||||
Qt Framework Installer 2.0 tools.
|
||||
|
||||
* The :module:`CPackDeb` module learned a new
|
||||
* The :cpack_gen:`CPack Deb Generator` learned a new
|
||||
:variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS`
|
||||
variable to specify per-component use of ``dpkg-shlibdeps``.
|
||||
|
||||
* The :module:`CPackDeb` module learned a new
|
||||
* The :cpack_gen:`CPack Deb Generator` learned a new
|
||||
:variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS`
|
||||
option to specify per-component dependencies.
|
||||
|
||||
* The :module:`CPackRPM` module learned to package symbolic links
|
||||
* The :cpack_gen:`CPack RPM Generator` learned to package symbolic links
|
||||
more cleanly and now supports directory symlinks with recent
|
||||
``rpmbuild`` versions.
|
||||
|
||||
* The :module:`CPackRPM` module learned a new
|
||||
* The :cpack_gen:`CPack RPM Generator` learned a new
|
||||
:variable:`CPACK_RPM_ADDITIONAL_MAN_DIRS` variable to specify
|
||||
directories containing man pages for the brp-compress RPM macro.
|
||||
|
||||
* The :module:`CPackRPM` module learned a new
|
||||
* The :cpack_gen:`CPack RPM Generator` learned a new
|
||||
:variable:`CPACK_RPM_<component>_PACKAGE_ARCHITECTURE` variable
|
||||
to specify a component-specific package architecture.
|
||||
|
||||
|
||||
@@ -197,7 +197,7 @@ CTest
|
||||
CPack
|
||||
-----
|
||||
|
||||
* The :module:`CPackDeb` module learned to set package dependencies
|
||||
* The :cpack_gen:`CPack Deb Generator` learned to set package dependencies
|
||||
per component. See variables:
|
||||
|
||||
* :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS`
|
||||
@@ -249,11 +249,11 @@ Other Changes
|
||||
:module:`CheckSymbolExists`, and :module:`FindThreads` modules learned to
|
||||
work in environments where only CXX is enabled.
|
||||
|
||||
* The :module:`CPackDeb` module now correctly excludes symlinks during package
|
||||
checksum calculation.
|
||||
* The :cpack_gen:`CPack Deb Generator` now correctly excludes symlinks
|
||||
during package checksum calculation.
|
||||
|
||||
* The :module:`CPackDeb` no longer uses fakeroot and system tar program for
|
||||
packaging.
|
||||
* The :cpack_gen:`CPack Deb Generator` no longer uses fakeroot and
|
||||
system tar program for packaging.
|
||||
|
||||
* The :module:`CPack` module no longer mangles settings with CMake-special
|
||||
characters when they're used as defaults for other settings. The macro
|
||||
|
||||
+12
-10
@@ -120,31 +120,33 @@ Platforms
|
||||
CPack
|
||||
-----
|
||||
|
||||
* The :module:`CPackDMG` module learned new variable to specify AppleScript
|
||||
file run to customize appearance of ``DragNDrop`` installer folder,
|
||||
including background image setting using supplied PNG or multi-resolution
|
||||
TIFF file. See the :variable:`CPACK_DMG_DS_STORE_SETUP_SCRIPT` and
|
||||
* The :cpack_gen:`CPack DMG Generator` learned new variable to
|
||||
specify AppleScript file run to customize appearance of ``DragNDrop``
|
||||
installer folder, including background image setting using supplied
|
||||
PNG or multi-resolution TIFF file.
|
||||
See the :variable:`CPACK_DMG_DS_STORE_SETUP_SCRIPT` and
|
||||
:variable:`CPACK_DMG_BACKGROUND_IMAGE` variables.
|
||||
|
||||
* The :module:`CPackDeb` module learned to set the optional config
|
||||
* The :cpack_gen:`CPack Deb Generator` learned to set the optional config
|
||||
file ``Source`` field using a monolithic or per-component variable.
|
||||
See :variable:`CPACK_DEBIAN_PACKAGE_SOURCE`.
|
||||
|
||||
* The :module:`CPackDeb` module learned to set Package, Section
|
||||
* The :cpack_gen:`CPack Deb Generator` learned to set Package, Section
|
||||
and Priority control fields per-component.
|
||||
See variables :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION` and
|
||||
:variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY`.
|
||||
|
||||
* The :module:`CPack DragNDrop generator <CPackDMG>` learned to add
|
||||
* The :cpack_gen:`CPack DMG Generator` learned to add
|
||||
multi-lingual SLAs to a DMG which is presented to the user when they try to
|
||||
mount the DMG. See the :variable:`CPACK_DMG_SLA_LANGUAGES` and
|
||||
:variable:`CPACK_DMG_SLA_DIR` variables for details.
|
||||
|
||||
* The :module:`CPackNSIS` module learned new variables to add bitmaps to the
|
||||
installer. See the :variable:`CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP`
|
||||
* The :cpack_gen:`CPack NSIS Generator` learned new variables to
|
||||
add bitmaps to the installer.
|
||||
See the :variable:`CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP`
|
||||
and :variable:`CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP` variables.
|
||||
|
||||
* The :module:`CPackRPM` module learned to set Name and Group
|
||||
* The :cpack_gen:`CPack RPM Generator` learned to set Name and Group
|
||||
control fields per-component.
|
||||
See :variable:`CPACK_RPM_<component>_PACKAGE_NAME`
|
||||
and :variable:`CPACK_RPM_<component>_PACKAGE_GROUP`.
|
||||
|
||||
+31
-29
@@ -165,25 +165,25 @@ CTest
|
||||
CPack
|
||||
-----
|
||||
|
||||
* The :module:`CPackDeb` module learned how to handle ``$ORIGIN``
|
||||
* The :cpack_gen:`CPack Deb Generator` learned how to handle ``$ORIGIN``
|
||||
in ``CMAKE_INSTALL_RPATH`` when :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS`
|
||||
is used for dependency auto detection.
|
||||
|
||||
* The :module:`CPackDeb` module learned how to generate ``DEBIAN/shlibs``
|
||||
contorl file when package contains shared libraries.
|
||||
* The :cpack_gen:`CPack Deb Generator` learned how to generate
|
||||
``DEBIAN/shlibs`` contorl file when package contains shared libraries.
|
||||
|
||||
* The :module:`CPackDeb` module learned how to generate ``DEBIAN/postinst`` and
|
||||
``DEBIAN/postrm`` files if the package installs libraries in
|
||||
ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``).
|
||||
* The :cpack_gen:`CPack Deb Generator` learned how to generate
|
||||
``DEBIAN/postinst`` and ``DEBIAN/postrm`` files if the package installs
|
||||
libraries in ldconfig-controlled locations (e.g. ``/lib/``, ``/usr/lib/``).
|
||||
|
||||
* The :module:`CPackDeb` module learned how to generate dependencies between
|
||||
Debian packages if multi-component setup is used and
|
||||
* The :cpack_gen:`CPack Deb Generator` learned how to generate dependencies
|
||||
between Debian packages if multi-component setup is used and
|
||||
:variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables are set.
|
||||
For backward compatibility this feature is disabled by default.
|
||||
See :variable:`CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS`.
|
||||
|
||||
* The :module:`CPackDeb` module learned how to set custom package file names
|
||||
including how to generate properly-named Debian packages::
|
||||
* The :cpack_gen:`CPack Deb Generator` learned how to set custom package
|
||||
file names including how to generate properly-named Debian packages::
|
||||
|
||||
<PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
|
||||
|
||||
@@ -191,42 +191,44 @@ CPack
|
||||
:variable:`CPACK_DEBIAN_FILE_NAME` and
|
||||
:variable:`CPACK_DEBIAN_<COMPONENT>_FILE_NAME`.
|
||||
|
||||
* The :module:`CPackDeb` module learned how to set the package release number
|
||||
(``DebianRevisionNumber`` in package file name when used in combination with
|
||||
``DEB-DEFAULT`` value set by :variable:`CPACK_DEBIAN_FILE_NAME`). See
|
||||
:variable:`CPACK_DEBIAN_PACKAGE_RELEASE`.
|
||||
* The :cpack_gen:`CPack Deb Generator` learned how to set the package
|
||||
release number (``DebianRevisionNumber`` in package file name when
|
||||
used in combination with ``DEB-DEFAULT`` value set by
|
||||
:variable:`CPACK_DEBIAN_FILE_NAME`).
|
||||
See :variable:`CPACK_DEBIAN_PACKAGE_RELEASE`.
|
||||
|
||||
* The :module:`CPackDeb` module learned how to set the package architecture
|
||||
per-component. See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`.
|
||||
* The :cpack_gen:`CPack Deb Generator` learned how to set the package
|
||||
architecture per-component.
|
||||
See :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE`.
|
||||
|
||||
* The :module:`CPackDMG` module learned a new option to tell the CPack
|
||||
``DragNDrop`` generaor to skip the ``/Applications`` symlink.
|
||||
* The :cpack_gen:`CPack DMG Generator` learned a new option to skip the
|
||||
``/Applications`` symlink.
|
||||
See the :variable:`CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK` variable.
|
||||
|
||||
* The :module:`CPackIFW` module gained a new
|
||||
:command:`cpack_ifw_update_repository` command to update a QtIFW-specific
|
||||
repository from a remote repository.
|
||||
|
||||
* The :module:`CPackRPM` module learned how to set RPM ``dist`` tag as part of
|
||||
RPM ``Release:`` tag when enabled (mandatory on some Linux distributions for
|
||||
e.g. on Fedora).
|
||||
* The :cpack_gen:`CPack RPM Generator` learned how to set RPM ``dist`` tag
|
||||
as part of RPM ``Release:`` tag when enabled (mandatory on some Linux
|
||||
distributions for e.g. on Fedora).
|
||||
See :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`.
|
||||
|
||||
* The :module:`CPackRPM` module learned how to set default values for owning
|
||||
user/group and file/directory permissions of package content.
|
||||
* The :cpack_gen:`CPack RPM Generator` learned how to set default values
|
||||
for owning user/group and file/directory permissions of package content.
|
||||
See :variable:`CPACK_RPM_DEFAULT_USER`, :variable:`CPACK_RPM_DEFAULT_GROUP`,
|
||||
:variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`,
|
||||
:variable:`CPACK_RPM_DEFAULT_DIR_PERMISSIONS` and their per component
|
||||
counterparts.
|
||||
|
||||
* The :module:`CPackRPM` module learned how to set user defined package file
|
||||
names, how to specify that rpmbuild should decide on file name format as
|
||||
well as handling of multiple rpm packages generated by a single user defined
|
||||
spec file.
|
||||
* The :cpack_gen:`CPack RPM Generator` learned how to set user defined
|
||||
package file names, how to specify that rpmbuild should decide on file
|
||||
name format as well as handling of multiple rpm packages generated by a
|
||||
single user defined spec file.
|
||||
See :variable:`CPACK_RPM_PACKAGE_NAME` and
|
||||
:variable:`CPACK_RPM_<component>_PACKAGE_NAME`.
|
||||
|
||||
* The :module:`CPackRPM` module learned how to correctly handle symlinks
|
||||
* The :cpack_gen:`CPack RPM Generator` learned how to correctly handle symlinks
|
||||
that are pointing outside generated packages.
|
||||
|
||||
Other
|
||||
@@ -296,7 +298,7 @@ Other Changes
|
||||
Input variables of the old case will be honored if provided, and output
|
||||
variables of the old case are always provided.
|
||||
|
||||
* The :module:`CPackRPM` module now supports upper cased component
|
||||
* The :cpack_gen:`CPack RPM Generator` now supports upper cased component
|
||||
names in per component CPackRPM specific variables.
|
||||
E.g. component named ``foo`` now expects component specific
|
||||
variable to be ``CPACK_RPM_FOO_PACKAGE_NAME`` while before
|
||||
|
||||
+10
-11
@@ -221,13 +221,12 @@ CTest
|
||||
CPack
|
||||
-----
|
||||
|
||||
* CPack gained a ``productbuild`` generator on OS X, configured by
|
||||
the :module:`CPackProductBuild` module.
|
||||
* CPack gained a :cpack_gen:`CPack productbuild Generator` on OS X.
|
||||
|
||||
* CPack gained a new :variable:`CPACK_PACKAGE_CHECKSUM` variable to
|
||||
enable generation of a checksum file for each package file.
|
||||
|
||||
* The :module:`CPackDeb` module learned to support long file names
|
||||
* The :cpack_gen:`CPack Deb Generator` learned to support long file names
|
||||
when archive format is set to GNU tar.
|
||||
See :variable:`CPACK_DEBIAN_ARCHIVE_TYPE`
|
||||
|
||||
@@ -240,32 +239,32 @@ CPack
|
||||
``USER_INTERFACES`` option to add a list of additional pages to the IFW
|
||||
installer.
|
||||
|
||||
* The :module:`CPackRPM` module learned to generate debuginfo
|
||||
* The :cpack_gen:`CPack RPM Generator` learned to generate debuginfo
|
||||
packages on demand. See :variable:`CPACK_RPM_DEBUGINFO_PACKAGE`
|
||||
and its per component version.
|
||||
|
||||
* The :module:`CPackRPM` module learned to generate source rpm
|
||||
* The :cpack_gen:`CPack RPM Generator` learned to generate source rpm
|
||||
(SRPM) packages on demand. See :variable:`CPACK_RPM_PACKAGE_SOURCES`,
|
||||
:variable:`CPACK_RPM_SOURCE_PKG_BUILD_PARAMS` and
|
||||
:variable:`CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX`.
|
||||
|
||||
* The CPack NSIS generator now supports
|
||||
* The :cpack_gen:`CPack NSIS Generator` now supports
|
||||
:variable:`CPACK_NSIS_<compName>_INSTALL_DIRECTORY`.
|
||||
This can be used to set component specific installation directories.
|
||||
|
||||
* The CPack WIX generator now supports
|
||||
* The :cpack_gen:`CPack WiX Generator` now supports
|
||||
:variable:`CPACK_WIX_SKIP_PROGRAM_FOLDER` to allow specification
|
||||
of a custom absolute installation prefix outside
|
||||
of the ProgramFiles folders.
|
||||
|
||||
* The CPack WIX generator now supports
|
||||
* The :cpack_gen:`CPack WiX Generator` now supports
|
||||
:variable:`CPACK_COMPONENT_<compName>_DISABLED`.
|
||||
This can be used to deselect a component from being installed by default.
|
||||
|
||||
* The CPack WIX generator now supports :variable:`CPACK_WIX_PATCH_FILE`
|
||||
fragments for Feature elements.
|
||||
* The :cpack_gen:`CPack WiX Generator` now supports
|
||||
:variable:`CPACK_WIX_PATCH_FILE` fragments for Feature elements.
|
||||
|
||||
* The CPack WIX generator now supports
|
||||
* The :cpack_gen:`CPack WiX Generator` now supports
|
||||
:variable:`CPACK_WIX_ROOT_FEATURE_TITLE` and
|
||||
:variable:`CPACK_WIX_ROOT_FEATURE_DESCRIPTION` to allow the specification
|
||||
of a custom title and description for the root feature element.
|
||||
|
||||
+11
-11
@@ -307,7 +307,7 @@ CPack
|
||||
option now is deprecated and will be removed in a future version of CMake.
|
||||
Please use new ``SORTING_PRIORITY`` option instead.
|
||||
|
||||
* The :module:`CPackIFW` module gained new
|
||||
* The :cpack_gen:`CPack IFW Generator` gained new
|
||||
:variable:`CPACK_IFW_PACKAGE_WATERMARK`,
|
||||
:variable:`CPACK_IFW_PACKAGE_BANNER`,
|
||||
:variable:`CPACK_IFW_PACKAGE_BACKGROUND`,
|
||||
@@ -317,26 +317,26 @@ CPack
|
||||
:variable:`CPACK_IFW_PACKAGE_TITLE_COLOR`
|
||||
variables to customize a QtIFW installer look.
|
||||
|
||||
* The :module:`CPackProductBuild` module gained options to sign packages.
|
||||
* The :cpack_gen:`CPack productbuild Generator` gained options to sign packages.
|
||||
See the variables :variable:`CPACK_PRODUCTBUILD_IDENTITY_NAME`,
|
||||
:variable:`CPACK_PRODUCTBUILD_KEYCHAIN_PATH`,
|
||||
:variable:`CPACK_PKGBUILD_IDENTITY_NAME`, and
|
||||
:variable:`CPACK_PKGBUILD_KEYCHAIN_PATH`.
|
||||
|
||||
* The :module:`CPackRPM` module learned to omit tags that are not supported by
|
||||
provided ``rpmbuild`` tool. If unsupported tags are set they are ignored
|
||||
and a developer warning is printed out.
|
||||
* The :cpack_gen:`CPack RPM Generator` learned to omit tags that are not
|
||||
supported by provided ``rpmbuild`` tool. If unsupported tags are set they
|
||||
are ignored and a developer warning is printed out.
|
||||
|
||||
* The :module:`CPackRPM` module learned to generate main component package
|
||||
which forces generation of a rpm for defined component without component
|
||||
suffix in filename and package name.
|
||||
* The :cpack_gen:`CPack RPM Generator` learned to generate main component
|
||||
package which forces generation of a rpm for defined component without
|
||||
component suffix in filename and package name.
|
||||
See :variable:`CPACK_RPM_MAIN_COMPONENT` variable.
|
||||
|
||||
* The :module:`CPackRPM` module learned to generate a single ``debuginfo``
|
||||
package on demand even if components packaging is used.
|
||||
* The :cpack_gen:`CPack RPM Generator` learned to generate a single
|
||||
``debuginfo`` package on demand even if components packaging is used.
|
||||
See :variable:`CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE` variable.
|
||||
|
||||
* The :module:`CPackRPM` module learned to support
|
||||
* The :cpack_gen:`CPack RPM Generator` learned to support
|
||||
multiple directives per file when using
|
||||
:variable:`CPACK_RPM_USER_FILELIST` variable.
|
||||
|
||||
|
||||
+11
-10
@@ -206,7 +206,7 @@ CTest
|
||||
CPack
|
||||
-----
|
||||
|
||||
* The :module:`CPackArchive` module learned to modify the filename
|
||||
* The :cpack_gen:`CPack Archive Generator` learned to modify the filename
|
||||
per-component. See the :variable:`CPACK_ARCHIVE_FILE_NAME` variable and
|
||||
its per-component version :variable:`CPACK_ARCHIVE_<component>_FILE_NAME`.
|
||||
|
||||
@@ -220,23 +220,24 @@ CPack
|
||||
internationalization support for ``DISPLAY_NAME`` and ``DESCRIPTION``
|
||||
options.
|
||||
|
||||
* The :module:`CPackIFW` module learned the new hint :variable:`CPACK_IFW_ROOT`
|
||||
variable for finding the QtIFW tool suite installed in a non-standard place.
|
||||
* The :cpack_gen:`CPack IFW Generator` learned the new hint
|
||||
:variable:`CPACK_IFW_ROOT` variable for finding the QtIFW tool suite
|
||||
installed in a non-standard place.
|
||||
|
||||
* The :module:`CPackProductBuild` module gained a new
|
||||
* The :cpack_gen:`CPack productbuild Generator` gained a new
|
||||
:variable:`CPACK_PRODUCTBUILD_RESOURCES_DIR` variable to
|
||||
specify resources to be copied into the ``Resources``
|
||||
directory.
|
||||
|
||||
* The :module:`CPackRPM` module learned to modify the ``debuginfo`` package
|
||||
name. See the :variable:`CPACK_RPM_DEBUGINFO_FILE_NAME` variable.
|
||||
* The :cpack_gen:`CPack RPM Generator` learned to modify the ``debuginfo``
|
||||
package name. See the :variable:`CPACK_RPM_DEBUGINFO_FILE_NAME` variable.
|
||||
|
||||
* The :module:`CPackWIX` module patching system now has the ability to set
|
||||
additional attributes. This can be done by specifying attributes with
|
||||
the ``CPackWiXFragment`` XML tag after the ``Id`` attribute.
|
||||
* The :cpack_gen:`CPack WiX Generator` patching system now has the
|
||||
ability to set additional attributes. This can be done by specifying
|
||||
attributes with the ``CPackWiXFragment`` XML tag after the ``Id`` attribute.
|
||||
See the :variable:`CPACK_WIX_PATCH_FILE` variable.
|
||||
|
||||
* The CPack WIX generator implemented a new
|
||||
* The :cpack_gen:`CPack WiX Generator` implemented a new
|
||||
:variable:`CPACK_WIX_ROOT_FOLDER_ID` variable which allows
|
||||
using a custom root folder ID instead of the default
|
||||
``ProgramFilesFolder`` / ``ProgramFiles64Folder``.
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
cpack-generator-documentation
|
||||
-----------------------------
|
||||
|
||||
* The CPack generators have been moved into their own separate section in the
|
||||
documentation, rather than having the documentation in their internal
|
||||
implementation modules.
|
||||
* These internal implementation modules are also no longer available to scripts
|
||||
that may have been incorrectly including them, because they should never have
|
||||
been available in the first place.
|
||||
@@ -1,39 +0,0 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# CPackArchive
|
||||
# ------------
|
||||
#
|
||||
# Archive CPack generator that supports packaging of sources and binaries in
|
||||
# different formats:
|
||||
#
|
||||
# - 7Z - 7zip - (.7z)
|
||||
# - TBZ2 (.tar.bz2)
|
||||
# - TGZ (.tar.gz)
|
||||
# - TXZ (.tar.xz)
|
||||
# - TZ (.tar.Z)
|
||||
# - ZIP (.zip)
|
||||
#
|
||||
# Variables specific to CPack Archive generator
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# .. variable:: CPACK_ARCHIVE_FILE_NAME
|
||||
# CPACK_ARCHIVE_<component>_FILE_NAME
|
||||
#
|
||||
# Package file name without extension which is added automatically depending
|
||||
# on the archive format.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : ``<CPACK_PACKAGE_FILE_NAME>[-<component>].<extension>`` with
|
||||
# spaces replaced by '-'
|
||||
#
|
||||
# .. variable:: CPACK_ARCHIVE_COMPONENT_INSTALL
|
||||
#
|
||||
# Enable component packaging for CPackArchive
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : OFF
|
||||
#
|
||||
# If enabled (ON) multiple packages are generated. By default a single package
|
||||
# containing files of all components is generated.
|
||||
@@ -1,70 +0,0 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# CPackBundle
|
||||
# -----------
|
||||
#
|
||||
# CPack Bundle generator (Mac OS X) specific options
|
||||
#
|
||||
# Variables specific to CPack Bundle generator
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# Installers built on Mac OS X using the Bundle generator use the
|
||||
# aforementioned DragNDrop (CPACK_DMG_xxx) variables, plus the following
|
||||
# Bundle-specific parameters (CPACK_BUNDLE_xxx).
|
||||
#
|
||||
# .. variable:: CPACK_BUNDLE_NAME
|
||||
#
|
||||
# The name of the generated bundle. This appears in the OSX finder as the
|
||||
# bundle name. Required.
|
||||
#
|
||||
# .. variable:: CPACK_BUNDLE_PLIST
|
||||
#
|
||||
# Path to an OSX plist file that will be used for the generated bundle. This
|
||||
# assumes that the caller has generated or specified their own Info.plist
|
||||
# file. Required.
|
||||
#
|
||||
# .. variable:: CPACK_BUNDLE_ICON
|
||||
#
|
||||
# Path to an OSX icon file that will be used as the icon for the generated
|
||||
# bundle. This is the icon that appears in the OSX finder for the bundle, and
|
||||
# in the OSX dock when the bundle is opened. Required.
|
||||
#
|
||||
# .. variable:: 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
|
||||
# OSX Finder. Optional.
|
||||
#
|
||||
# .. variable:: CPACK_BUNDLE_APPLE_CERT_APP
|
||||
#
|
||||
# The name of your Apple supplied code signing certificate for the application.
|
||||
# The name usually takes the form "Developer ID Application: [Name]" or
|
||||
# "3rd Party Mac Developer Application: [Name]". If this variable is not set
|
||||
# the application will not be signed.
|
||||
#
|
||||
# .. variable:: CPACK_BUNDLE_APPLE_ENTITLEMENTS
|
||||
#
|
||||
# The name of the plist file that contains your apple entitlements for sandboxing
|
||||
# your application. This file is required for submission to the Mac App Store.
|
||||
#
|
||||
# .. variable:: 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.
|
||||
#
|
||||
# .. variable:: CPACK_BUNDLE_APPLE_CODESIGN_PARAMETER
|
||||
#
|
||||
# Additional parameter that will passed to codesign.
|
||||
# Default value: "--deep -f"
|
||||
#
|
||||
# .. variable:: CPACK_COMMAND_CODESIGN
|
||||
#
|
||||
# Path to the codesign(1) 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.)
|
||||
|
||||
#Bundle Generator specific code should be put here
|
||||
@@ -1,27 +0,0 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# CPackCygwin
|
||||
# -----------
|
||||
#
|
||||
# Cygwin CPack generator (Cygwin).
|
||||
#
|
||||
# Variables specific to CPack Cygwin generator
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# The
|
||||
# following variable is specific to installers build on and/or for
|
||||
# Cygwin:
|
||||
#
|
||||
# .. variable:: CPACK_CYGWIN_PATCH_NUMBER
|
||||
#
|
||||
# The Cygwin patch number. FIXME: This documentation is incomplete.
|
||||
#
|
||||
# .. variable:: CPACK_CYGWIN_PATCH_FILE
|
||||
#
|
||||
# The Cygwin patch file. FIXME: This documentation is incomplete.
|
||||
#
|
||||
# .. variable:: CPACK_CYGWIN_BUILD_SCRIPT
|
||||
#
|
||||
# The Cygwin build script. FIXME: This documentation is incomplete.
|
||||
@@ -1,105 +0,0 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# CPackDMG
|
||||
# --------
|
||||
#
|
||||
# DragNDrop CPack generator (Mac OS X).
|
||||
#
|
||||
# Variables specific to CPack DragNDrop generator
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# The following variables are specific to the DragNDrop installers built
|
||||
# on Mac OS X:
|
||||
#
|
||||
# .. variable:: CPACK_DMG_VOLUME_NAME
|
||||
#
|
||||
# The volume name of the generated disk image. Defaults to
|
||||
# CPACK_PACKAGE_FILE_NAME.
|
||||
#
|
||||
# .. variable:: CPACK_DMG_FORMAT
|
||||
#
|
||||
# The disk image format. Common values are UDRO (UDIF read-only), UDZO (UDIF
|
||||
# zlib-compressed) or UDBZ (UDIF bzip2-compressed). Refer to hdiutil(1) for
|
||||
# more information on other available formats. Defaults to UDZO.
|
||||
#
|
||||
# .. variable:: CPACK_DMG_DS_STORE
|
||||
#
|
||||
# Path to a custom DS_Store file. This .DS_Store file e.g. 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 .DS_Store file can then be extracted.
|
||||
#
|
||||
# .. variable:: CPACK_DMG_DS_STORE_SETUP_SCRIPT
|
||||
#
|
||||
# Path to a custom AppleScript file. This AppleScript is used to generate
|
||||
# a .DS_Store 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
|
||||
# CPACK_DMG_DS_STORE, as the .DS_Store that is generated by the AppleScript
|
||||
# will be packaged.
|
||||
#
|
||||
# .. variable:: CPACK_DMG_BACKGROUND_IMAGE
|
||||
#
|
||||
# Path to an image file to be used as the background. This file will be
|
||||
# copied to .background/background.<ext>, where ext is the original image file
|
||||
# extension. The background image is installed into the image before
|
||||
# CPACK_DMG_DS_STORE_SETUP_SCRIPT is executed or CPACK_DMG_DS_STORE is
|
||||
# installed. By default no background image is set.
|
||||
#
|
||||
# .. variable:: CPACK_DMG_DISABLE_APPLICATIONS_SYMLINK
|
||||
#
|
||||
# Default behaviour is to include a symlink to ``/Applications`` in the DMG.
|
||||
# Set this option to ``ON`` to avoid adding the symlink.
|
||||
#
|
||||
# .. variable:: CPACK_DMG_SLA_DIR
|
||||
#
|
||||
# Directory where license and menu files for different languages are stored.
|
||||
# Setting this causes CPack to look for a ``<language>.menu.txt`` and
|
||||
# ``<language>.license.txt`` file for every language defined in
|
||||
# ``CPACK_DMG_SLA_LANGUAGES``. If both this variable and
|
||||
# ``CPACK_RESOURCE_FILE_LICENSE`` are set, CPack will only look for the menu
|
||||
# files and use the same license file for all languages.
|
||||
#
|
||||
# .. variable:: 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:
|
||||
#
|
||||
# - Agree
|
||||
# - Disagree
|
||||
# - Print
|
||||
# - Save...
|
||||
# - You agree to the terms of the License Agreement when you click the
|
||||
# "Agree" button.
|
||||
# - Software License Agreement
|
||||
# - This text cannot be saved. The disk may be full or locked, or the file
|
||||
# may be locked.
|
||||
# - Unable to print. Make sure you have selected a printer.
|
||||
#
|
||||
# For every language in this list, CPack will try to find files
|
||||
# ``<language>.menu.txt`` and ``<language>.license.txt`` in the directory
|
||||
# specified by the :variable:`CPACK_DMG_SLA_DIR` variable.
|
||||
#
|
||||
# .. variable:: CPACK_COMMAND_HDIUTIL
|
||||
#
|
||||
# Path to the hdiutil(1) command used to operate on disk image files on Mac
|
||||
# OS X. This variable can be used to override the automatically detected
|
||||
# command (or specify its location if the auto-detection fails to find it.)
|
||||
#
|
||||
# .. variable:: CPACK_COMMAND_SETFILE
|
||||
#
|
||||
# Path to the SetFile(1) command used to set extended attributes on files and
|
||||
# directories on Mac OS X. This variable can be used to override the
|
||||
# automatically detected command (or specify its location if the
|
||||
# auto-detection fails to find it.)
|
||||
#
|
||||
# .. variable:: CPACK_COMMAND_REZ
|
||||
#
|
||||
# Path to the Rez(1) command used to compile resources on Mac OS X. This
|
||||
# variable can be used to override the automatically detected command (or
|
||||
# specify its location if the auto-detection fails to find it.)
|
||||
@@ -1,248 +0,0 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#[=======================================================================[.rst:
|
||||
CPackFreeBSD
|
||||
------------
|
||||
|
||||
The built in (binary) CPack FreeBSD (pkg) generator (Unix only)
|
||||
|
||||
Variables specific to CPack FreeBSD (pkg) generator
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
CPackFreeBSD 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 :module:`CPack`.
|
||||
|
||||
CPackFreeBSD is a :module:`CPack` generator and uses the ``CPACK_XXX``
|
||||
variables used by :module:`CPack`. It tries to re-use packaging information
|
||||
that may already be specified for Debian packages for the :module:`CPackDeb`
|
||||
generator. it also tries to re-use RPM packaging information when Debian
|
||||
does not specify.
|
||||
|
||||
CPackFreeBSD generator should work on any host with libpkg installed. The
|
||||
packages it produces are specific to the host architecture and ABI.
|
||||
|
||||
CPackFreeBSD sets package-metadata through :code:`CPACK_FREEBSD_XXX` variables.
|
||||
CPackFreeBSD, unlike CPackDeb, does not specially support componentized
|
||||
packages; a single package is created from all the software artifacts
|
||||
created through CMake.
|
||||
|
||||
All of the variables can be set specifically for FreeBSD packaging in
|
||||
the CPackConfig file or in CMakeLists.txt, but most of them have defaults
|
||||
that use general settings (e.g. CMAKE_PROJECT_NAME) or Debian-specific
|
||||
variables when those make sense (e.g. the homepage of an upstream project
|
||||
is usually unchanged by the flavor of packaging). When there is no Debian
|
||||
information to fall back on, but the RPM packaging has it, fall back to
|
||||
the RPM information (e.g. package license).
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_NAME
|
||||
|
||||
Sets the package name (in the package manifest, but also affects the
|
||||
output filename).
|
||||
|
||||
* Mandatory: YES
|
||||
* Default:
|
||||
|
||||
- :variable:`CPACK_PACKAGE_NAME` (this is always set by CPack itself,
|
||||
based on CMAKE_PROJECT_NAME).
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_COMMENT
|
||||
|
||||
Sets the package comment. This is the short description displayed by
|
||||
pkg(8) in standard "pkg info" output.
|
||||
|
||||
* Mandatory: YES
|
||||
* Default:
|
||||
|
||||
- :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY` (this is always set
|
||||
by CPack itself, if nothing else sets it explicitly).
|
||||
- :variable:`PROJECT_DESCRIPTION` (this can be set with the DESCRIPTION
|
||||
parameter for :command:`project`).
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_DESCRIPTION
|
||||
|
||||
Sets the package description. This is the long description of the package,
|
||||
given by "pkg info" with a specific package as argument.
|
||||
|
||||
* Mandatory: YES
|
||||
* Default:
|
||||
|
||||
- :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` (this may be set already
|
||||
for Debian packaging, so we may as well re-use it).
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_WWW
|
||||
|
||||
The URL of the web site for this package, preferably (when applicable) the
|
||||
site from which the original source can be obtained and any additional
|
||||
upstream documentation or information may be found.
|
||||
|
||||
* Mandatory: YES
|
||||
* Default:
|
||||
|
||||
- :variable:`CMAKE_PROJECT_HOMEPAGE_URL`, or if that is not set,
|
||||
:variable:`CPACK_DEBIAN_PACKAGE_HOMEPAGE` (this may be set already
|
||||
for Debian packaging, so we may as well re-use it).
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_LICENSE
|
||||
|
||||
The license, or licenses, which apply to this software package. This must
|
||||
be one or more license-identifiers that pkg recognizes as acceptable license
|
||||
identifiers (e.g. "GPLv2").
|
||||
|
||||
* Mandatory: YES
|
||||
* Default:
|
||||
|
||||
- :variable:`CPACK_RPM_PACKAGE_LICENSE`
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_LICENSE_LOGIC
|
||||
|
||||
This variable is only of importance if there is more than one license.
|
||||
The default is "single", which is only applicable to a single license.
|
||||
Other acceptable values are determined by pkg -- those are "dual" or "multi" --
|
||||
meaning choice (OR) or simultaneous (AND) application of the licenses.
|
||||
|
||||
* Mandatory: NO
|
||||
* Default: single
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_MAINTAINER
|
||||
|
||||
The FreeBSD maintainer (e.g. kde@freebsd.org) of this package.
|
||||
|
||||
* Mandatory: YES
|
||||
* Default: none
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_ORIGIN
|
||||
|
||||
The origin (ports label) of this package; for packages built by CPack
|
||||
outside of the ports system this is of less importance. The default
|
||||
puts the package somewhere under misc/, as a stopgap.
|
||||
|
||||
* Mandatory: YES
|
||||
* Default: misc/<package name>
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_CATEGORIES
|
||||
|
||||
The ports categories where this package lives (if it were to be built
|
||||
from ports). If none is set a single category is determined based on
|
||||
the package origin.
|
||||
|
||||
* Mandatory: YES
|
||||
* Default: derived from ORIGIN
|
||||
|
||||
.. variable:: CPACK_FREEBSD_PACKAGE_DEPS
|
||||
|
||||
A list of package origins that should be added as package dependencies.
|
||||
These are in the form <category>/<packagename>, e.g. x11/libkonq.
|
||||
No version information needs to be provided (this is not included
|
||||
in the manifest).
|
||||
|
||||
* Mandatory: NO
|
||||
* Default: empty
|
||||
#]=======================================================================]
|
||||
|
||||
|
||||
|
||||
if(CMAKE_BINARY_DIR)
|
||||
message(FATAL_ERROR "CPackFreeBSD.cmake may only be used by CPack internally.")
|
||||
endif()
|
||||
|
||||
if(NOT UNIX)
|
||||
message(FATAL_ERROR "CPackFreeBSD.cmake may only be used under UNIX.")
|
||||
endif()
|
||||
|
||||
|
||||
###
|
||||
#
|
||||
# These bits are copied from the Debian packaging file; slightly modified.
|
||||
# They are used for filling in FreeBSD-packaging variables that can take
|
||||
# on values from elsewhere -- e.g. the package description may as well be
|
||||
# copied from Debian.
|
||||
#
|
||||
function(_cpack_freebsd_fallback_var OUTPUT_VAR_NAME)
|
||||
set(FALLBACK_VAR_NAMES ${ARGN})
|
||||
|
||||
set(VALUE "${${OUTPUT_VAR_NAME}}")
|
||||
if(VALUE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
foreach(variable_name IN LISTS FALLBACK_VAR_NAMES)
|
||||
if(${variable_name})
|
||||
set(${OUTPUT_VAR_NAME} "${${variable_name}}" PARENT_SCOPE)
|
||||
set(VALUE "${${variable_name}}")
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
if(NOT VALUE)
|
||||
message(WARNING "Variable ${OUTPUT_VAR_NAME} could not be given a fallback value from any variable ${FALLBACK_VAR_NAMES}.")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(check_required_var VAR_NAME)
|
||||
if(NOT ${VAR_NAME})
|
||||
message(FATAL_ERROR "Variable ${VAR_NAME} is not set.")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
set(_cpack_freebsd_fallback_origin "misc/bogus")
|
||||
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_NAME"
|
||||
"CPACK_PACKAGE_NAME"
|
||||
"CMAKE_PROJECT_NAME"
|
||||
)
|
||||
|
||||
set(_cpack_freebsd_fallback_www "http://example.com/?pkg=${CPACK_FREEBSD_PACKAGE_NAME}")
|
||||
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_COMMENT"
|
||||
"CPACK_PACKAGE_DESCRIPTION_SUMMARY"
|
||||
)
|
||||
|
||||
# TODO: maybe read the PACKAGE_DESCRIPTION file for the longer
|
||||
# FreeBSD pkg-descr?
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_DESCRIPTION"
|
||||
"CPACK_DEBIAN_PACKAGE_DESCRIPTION"
|
||||
"CPACK_PACKAGE_DESCRIPTION_SUMMARY"
|
||||
"PACKAGE_DESCRIPTION"
|
||||
)
|
||||
|
||||
# There's really only one homepage for a project, so
|
||||
# re-use the Debian setting if it's there.
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_WWW"
|
||||
"CMAKE_PROJECT_HOMEPAGE_URL"
|
||||
"CPACK_DEBIAN_PACKAGE_HOMEPAGE"
|
||||
"_cpack_freebsd_fallback_www"
|
||||
)
|
||||
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_VERSION"
|
||||
"CMAKE_PROJECT_VERSION"
|
||||
"${CMAKE_PROJECT_NAME}_VERSION"
|
||||
"PROJECT_VERSION"
|
||||
"CPACK_PACKAGE_VERSION"
|
||||
"CPACK_PACKAGE_VERSION"
|
||||
)
|
||||
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_MAINTAINER"
|
||||
"CPACK_PACKAGE_CONTACT"
|
||||
)
|
||||
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_LICENSE"
|
||||
"CPACK_RPM_PACKAGE_LICENSE"
|
||||
)
|
||||
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_ORIGIN"
|
||||
"_cpack_freebsd_fallback_origin"
|
||||
)
|
||||
|
||||
if(NOT CPACK_FREEBSD_PACKAGE_CATEGORIES)
|
||||
string(REGEX REPLACE "/.*" "" CPACK_FREEBSD_PACKAGE_CATEGORIES ${CPACK_FREEBSD_PACKAGE_ORIGIN})
|
||||
endif()
|
||||
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_NAME")
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_ORIGIN")
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_VERSION")
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_MAINTAINER")
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_COMMENT")
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_DESCRIPTION")
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_WWW")
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_LICENSE")
|
||||
+325
-671
File diff suppressed because it is too large
Load Diff
@@ -1,138 +0,0 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# CPackNSIS
|
||||
# ---------
|
||||
#
|
||||
# CPack NSIS generator specific options
|
||||
#
|
||||
# Variables specific to CPack NSIS generator
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# The following variables are specific to the graphical installers built
|
||||
# on Windows using the Nullsoft Installation System.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_INSTALL_ROOT
|
||||
#
|
||||
# The default installation directory presented to the end user by the NSIS
|
||||
# installer is under this root dir. The full directory presented to the end
|
||||
# user is: ${CPACK_NSIS_INSTALL_ROOT}/${CPACK_PACKAGE_INSTALL_DIRECTORY}
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_MUI_ICON
|
||||
#
|
||||
# An icon filename. The name of a ``*.ico`` file used as the main icon for the
|
||||
# generated install program.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_MUI_UNIICON
|
||||
#
|
||||
# An icon filename. The name of a ``*.ico`` file used as the main icon for the
|
||||
# generated uninstall program.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_INSTALLER_MUI_ICON_CODE
|
||||
#
|
||||
# undocumented.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP
|
||||
#
|
||||
# The filename of a bitmap to use as the NSIS MUI_WELCOMEFINISHPAGE_BITMAP.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP
|
||||
#
|
||||
# The filename of a bitmap to use as the NSIS MUI_UNWELCOMEFINISHPAGE_BITMAP.
|
||||
#
|
||||
# .. variable:: 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.
|
||||
#
|
||||
# .. variable:: 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.
|
||||
#
|
||||
# .. variable:: 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.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_COMPRESSOR
|
||||
#
|
||||
# The arguments that will be passed to the NSIS SetCompressor command.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL
|
||||
#
|
||||
# Ask about uninstalling previous versions first. If this is set to "ON",
|
||||
# then an installer will look for previous installed versions and if one is
|
||||
# found, ask the user whether to uninstall it before proceeding with the
|
||||
# install.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_MODIFY_PATH
|
||||
#
|
||||
# Modify PATH toggle. If this is set to "ON", then an extra page will appear
|
||||
# in the installer that will allow the user to choose whether the program
|
||||
# directory should be added to the system PATH variable.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_DISPLAY_NAME
|
||||
#
|
||||
# The display name string that appears in the Windows Add/Remove Program
|
||||
# control panel
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_PACKAGE_NAME
|
||||
#
|
||||
# The title displayed at the top of the installer.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_INSTALLED_ICON_NAME
|
||||
#
|
||||
# A path to the executable that contains the installer icon.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_HELP_LINK
|
||||
#
|
||||
# URL to a web site providing assistance in installing your application.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_URL_INFO_ABOUT
|
||||
#
|
||||
# URL to a web site providing more information about your application.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_CONTACT
|
||||
#
|
||||
# Contact information for questions and comments about the installation
|
||||
# process.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_<compName>_INSTALL_DIRECTORY
|
||||
#
|
||||
# Custom install directory for the specified component <compName> instead
|
||||
# of $INSTDIR.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_CREATE_ICONS_EXTRA
|
||||
#
|
||||
# Additional NSIS commands for creating start menu shortcuts.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_DELETE_ICONS_EXTRA
|
||||
#
|
||||
# Additional NSIS commands to uninstall start menu shortcuts.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_EXECUTABLES_DIRECTORY
|
||||
#
|
||||
# Creating NSIS start menu links assumes that they are in 'bin' unless this
|
||||
# variable is set. For example, you would set this to 'exec' if your
|
||||
# executables are in an exec directory.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_MUI_FINISHPAGE_RUN
|
||||
#
|
||||
# Specify an executable to add an option to run on the finish page of the
|
||||
# NSIS installer.
|
||||
#
|
||||
# .. variable:: CPACK_NSIS_MENU_LINKS
|
||||
#
|
||||
# Specify links in [application] menu. This should contain a list of pair
|
||||
# "link" "link name". The link may be a URL or a path relative to
|
||||
# installation prefix. Like::
|
||||
#
|
||||
# set(CPACK_NSIS_MENU_LINKS
|
||||
# "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/cmake.html"
|
||||
# "CMake Help" "https://cmake.org" "CMake Web Site")
|
||||
#
|
||||
|
||||
#FIXME we should put NSIS specific code here
|
||||
#FIXME but I'm not doing it because I'm not able to test it...
|
||||
@@ -1,27 +0,0 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# CPackPackageMaker
|
||||
# -----------------
|
||||
#
|
||||
# PackageMaker CPack generator (Mac OS X).
|
||||
#
|
||||
# Variables specific to CPack PackageMaker generator
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# The following variable is specific to installers built on Mac
|
||||
# OS X using PackageMaker:
|
||||
#
|
||||
# .. variable:: CPACK_OSX_PACKAGE_VERSION
|
||||
#
|
||||
# The version of Mac OS X that the resulting PackageMaker archive should be
|
||||
# compatible with. Different versions of Mac OS X support different
|
||||
# features. For example, CPack can only build component-based installers for
|
||||
# Mac OS X 10.4 or newer, and can only build installers that download
|
||||
# component son-the-fly for Mac OS X 10.5 or newer. If left blank, this value
|
||||
# will be set to the minimum version of Mac OS X 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 Mac OS X, and
|
||||
# don't mind missing extra features available in the installer shipping with
|
||||
# later versions of Mac OS X.
|
||||
@@ -1,72 +0,0 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# CPackProductBuild
|
||||
# -----------------
|
||||
#
|
||||
# productbuild CPack generator (Mac OS X).
|
||||
#
|
||||
# Variables specific to CPack productbuild generator
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# The following variable is specific to installers built on Mac
|
||||
# OS X using productbuild:
|
||||
#
|
||||
# .. variable:: CPACK_COMMAND_PRODUCTBUILD
|
||||
#
|
||||
# Path to the productbuild(1) command used to generate a product archive for
|
||||
# the OS X 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.)
|
||||
#
|
||||
# .. variable:: CPACK_PRODUCTBUILD_IDENTITY_NAME
|
||||
#
|
||||
# Adds a digital signature to the resulting package.
|
||||
#
|
||||
#
|
||||
# .. variable:: CPACK_PRODUCTBUILD_KEYCHAIN_PATH
|
||||
#
|
||||
# Specify a specific keychain to search for the signing identity.
|
||||
#
|
||||
#
|
||||
# .. variable:: CPACK_COMMAND_PKGBUILD
|
||||
#
|
||||
# Path to the pkgbuild(1) command used to generate an OS X component package
|
||||
# on OS X. This variable can be used to override the automatically detected
|
||||
# command (or specify its location if the auto-detection fails to find it.)
|
||||
#
|
||||
#
|
||||
# .. variable:: CPACK_PKGBUILD_IDENTITY_NAME
|
||||
#
|
||||
# Adds a digital signature to the resulting package.
|
||||
#
|
||||
#
|
||||
# .. variable:: CPACK_PKGBUILD_KEYCHAIN_PATH
|
||||
#
|
||||
# Specify a specific keychain to search for the signing identity.
|
||||
#
|
||||
#
|
||||
# .. variable:: CPACK_PREFLIGHT_<COMP>_SCRIPT
|
||||
#
|
||||
# Full path to a file that will be used as the ``preinstall`` script for the
|
||||
# named ``<COMP>`` component's package, where ``<COMP>`` is the uppercased
|
||||
# component name. No ``preinstall`` script is added if this variable is not
|
||||
# defined for a given component.
|
||||
#
|
||||
#
|
||||
# .. variable:: CPACK_POSTFLIGHT_<COMP>_SCRIPT
|
||||
#
|
||||
# Full path to a file that will be used as the ``postinstall`` script for the
|
||||
# named ``<COMP>`` component's package, where ``<COMP>`` is the uppercased
|
||||
# component name. No ``postinstall`` script is added if this variable is not
|
||||
# defined for a given component.
|
||||
#
|
||||
#
|
||||
# .. variable:: CPACK_PRODUCTBUILD_RESOURCES_DIR
|
||||
#
|
||||
# If specified the productbuild generator copies files from this directory
|
||||
# (including subdirectories) to the ``Resources`` directory. This is done
|
||||
# before the :variable:`CPACK_RESOURCE_FILE_WELCOME`,
|
||||
# :variable:`CPACK_RESOURCE_FILE_README`, and
|
||||
# :variable:`CPACK_RESOURCE_FILE_LICENSE` files are copied.
|
||||
@@ -1,307 +0,0 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# CPackWIX
|
||||
# --------
|
||||
#
|
||||
# CPack WiX generator specific options
|
||||
#
|
||||
# Variables specific to CPack WiX generator
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# The following variables are specific to the installers built on
|
||||
# Windows using WiX.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_UPGRADE_GUID
|
||||
#
|
||||
# Upgrade GUID (``Product/@UpgradeCode``)
|
||||
#
|
||||
# Will be automatically generated unless explicitly provided.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# A GUID shall have the following fixed length syntax::
|
||||
#
|
||||
# XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
|
||||
#
|
||||
# (each X represents an uppercase hexadecimal digit)
|
||||
#
|
||||
# .. variable:: CPACK_WIX_PRODUCT_GUID
|
||||
#
|
||||
# Product GUID (``Product/@Id``)
|
||||
#
|
||||
# Will be automatically generated unless explicitly provided.
|
||||
#
|
||||
# If explicitly provided this will set the Product Id of your installer.
|
||||
#
|
||||
# The installer will abort if it detects a pre-existing installation that
|
||||
# uses the same GUID.
|
||||
#
|
||||
# The GUID shall use the syntax described for CPACK_WIX_UPGRADE_GUID.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_LICENSE_RTF
|
||||
#
|
||||
# RTF License File
|
||||
#
|
||||
# If CPACK_RESOURCE_FILE_LICENSE has an .rtf extension it is used as-is.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_PRODUCT_ICON
|
||||
#
|
||||
# The Icon shown next to the program name in Add/Remove programs.
|
||||
#
|
||||
# If set, this icon is used in place of the default icon.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_UI_REF
|
||||
#
|
||||
# This variable allows you to override the Id of the ``<UIRef>`` element
|
||||
# in the WiX template.
|
||||
#
|
||||
# The default is ``WixUI_InstallDir`` in case no CPack components have
|
||||
# been defined and ``WixUI_FeatureTree`` otherwise.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_UI_BANNER
|
||||
#
|
||||
# The bitmap will appear at the top of all installer pages other than the
|
||||
# welcome and completion dialogs.
|
||||
#
|
||||
# If set, this image will replace the default banner image.
|
||||
#
|
||||
# This image must be 493 by 58 pixels.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_UI_DIALOG
|
||||
#
|
||||
# Background bitmap used on the welcome and completion dialogs.
|
||||
#
|
||||
# If this variable is set, the installer will replace the default dialog
|
||||
# image.
|
||||
#
|
||||
# This image must be 493 by 312 pixels.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_PROGRAM_MENU_FOLDER
|
||||
#
|
||||
# Start menu folder name for launcher.
|
||||
#
|
||||
# If this variable is not set, it will be initialized with CPACK_PACKAGE_NAME
|
||||
#
|
||||
# .. variable:: CPACK_WIX_CULTURES
|
||||
#
|
||||
# Language(s) of the installer
|
||||
#
|
||||
# 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:
|
||||
# http://wix.sourceforge.net/manual-wix3/WixUI_localization.htm
|
||||
#
|
||||
# .. variable:: CPACK_WIX_TEMPLATE
|
||||
#
|
||||
# Template file for WiX generation
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# If this variable is not set, the default MSI template included with CMake
|
||||
# will be used.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_PATCH_FILE
|
||||
#
|
||||
# Optional list of XML files with fragments to be inserted into
|
||||
# generated WiX sources
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# Patch files understood by the CPack WiX generator
|
||||
# roughly follow this RELAX NG compact schema:
|
||||
#
|
||||
# .. code-block:: none
|
||||
#
|
||||
# start = CPackWiXPatch
|
||||
#
|
||||
# CPackWiXPatch = element CPackWiXPatch { CPackWiXFragment* }
|
||||
#
|
||||
# CPackWiXFragment = element CPackWiXFragment
|
||||
# {
|
||||
# attribute Id { string },
|
||||
# fragmentContent*
|
||||
# }
|
||||
#
|
||||
# fragmentContent = element * - CPackWiXFragment
|
||||
# {
|
||||
# (attribute * { text } | text | fragmentContent)*
|
||||
# }
|
||||
#
|
||||
# Currently fragments can be injected into most
|
||||
# Component, File, Directory and Feature elements.
|
||||
#
|
||||
# The following additional special Ids can be used:
|
||||
#
|
||||
# * ``#PRODUCT`` for the ``<Product>`` element.
|
||||
# * ``#PRODUCTFEATURE`` for the root ``<Feature>`` element.
|
||||
#
|
||||
# The following example illustrates how this works.
|
||||
#
|
||||
# Given that the WiX generator creates the following XML element:
|
||||
#
|
||||
# .. code-block:: xml
|
||||
#
|
||||
# <Component Id="CM_CP_applications.bin.my_libapp.exe" Guid="*"/>
|
||||
#
|
||||
# The following XML patch file may be used to inject an Environment element
|
||||
# into it:
|
||||
#
|
||||
# .. code-block:: xml
|
||||
#
|
||||
# <CPackWiXPatch>
|
||||
# <CPackWiXFragment Id="CM_CP_applications.bin.my_libapp.exe">
|
||||
# <Environment Id="MyEnvironment" Action="set"
|
||||
# Name="MyVariableName" Value="MyVariableValue"/>
|
||||
# </CPackWiXFragment>
|
||||
# </CPackWiXPatch>
|
||||
#
|
||||
# .. variable:: CPACK_WIX_EXTRA_SOURCES
|
||||
#
|
||||
# Extra WiX source files
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_EXTRA_OBJECTS
|
||||
#
|
||||
# Extra WiX object files or libraries
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_EXTENSIONS
|
||||
#
|
||||
# This variable provides a list of additional extensions for the WiX
|
||||
# tools light and candle.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_<TOOL>_EXTENSIONS
|
||||
#
|
||||
# This is the tool specific version of CPACK_WIX_EXTENSIONS.
|
||||
# ``<TOOL>`` can be either LIGHT or CANDLE.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_<TOOL>_EXTRA_FLAGS
|
||||
#
|
||||
# This list variable allows you to pass additional
|
||||
# flags to the WiX tool ``<TOOL>``.
|
||||
#
|
||||
# Use it at your own risk.
|
||||
# Future versions of CPack may generate flags which may be in conflict
|
||||
# with your own flags.
|
||||
#
|
||||
# ``<TOOL>`` can be either LIGHT or CANDLE.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_CMAKE_PACKAGE_REGISTRY
|
||||
#
|
||||
# If this variable is set the generated installer will create
|
||||
# an entry in the windows registry key
|
||||
# ``HKEY_LOCAL_MACHINE\Software\Kitware\CMake\Packages\<package>``
|
||||
# The value for ``<package>`` is provided by this variable.
|
||||
#
|
||||
# Assuming you also install a CMake configuration file this will
|
||||
# allow other CMake projects to find your package with
|
||||
# the :command:`find_package` command.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_PROPERTY_<PROPERTY>
|
||||
#
|
||||
# This variable can be used to provide a value for
|
||||
# the Windows Installer property ``<PROPERTY>``
|
||||
#
|
||||
# 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")
|
||||
#
|
||||
# * ARPCOMMENTS - Comments
|
||||
# * ARPHELPLINK - Help and support information URL
|
||||
# * ARPURLINFOABOUT - General information URL
|
||||
# * ARPURLUPDATEINFO - Update information URL
|
||||
# * ARPHELPTELEPHONE - Help and support telephone number
|
||||
# * ARPSIZE - Size (in kilobytes) of the application
|
||||
#
|
||||
# .. variable:: 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.
|
||||
#
|
||||
# .. variable:: 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.
|
||||
#
|
||||
# .. variable:: 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.
|
||||
#
|
||||
# .. note::
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_ROOT_FOLDER_ID
|
||||
#
|
||||
# This variable allows specification of a custom root folder ID.
|
||||
# The generator specific ``<64>`` 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 ``64``.
|
||||
#
|
||||
# When unset generated installers will default installing to
|
||||
# ``ProgramFiles<64>Folder``.
|
||||
#
|
||||
# .. variable:: CPACK_WIX_ROOT
|
||||
#
|
||||
# This variable can optionally be set to the root directory
|
||||
# of a custom WiX Toolset installation.
|
||||
#
|
||||
# When unspecified CPack will try to locate a WiX Toolset
|
||||
# installation via the ``WIX`` environment variable instead.
|
||||
#
|
||||
|
||||
if(NOT CPACK_WIX_ROOT)
|
||||
string(REPLACE "\\" "/" CPACK_WIX_ROOT "$ENV{WIX}")
|
||||
endif()
|
||||
|
||||
find_program(CPACK_WIX_CANDLE_EXECUTABLE candle
|
||||
PATHS "${CPACK_WIX_ROOT}" PATH_SUFFIXES "bin")
|
||||
|
||||
if(NOT CPACK_WIX_CANDLE_EXECUTABLE)
|
||||
message(FATAL_ERROR "Could not find the WiX candle executable.")
|
||||
endif()
|
||||
|
||||
find_program(CPACK_WIX_LIGHT_EXECUTABLE light
|
||||
PATHS "${CPACK_WIX_ROOT}" PATH_SUFFIXES "bin")
|
||||
|
||||
if(NOT CPACK_WIX_LIGHT_EXECUTABLE)
|
||||
message(FATAL_ERROR "Could not find the WiX light executable.")
|
||||
endif()
|
||||
@@ -1,537 +1,6 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# CPackDeb
|
||||
# --------
|
||||
#
|
||||
# The built in (binary) CPack Deb generator (Unix only)
|
||||
#
|
||||
# Variables specific to CPack Debian (DEB) generator
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# CPackDeb may be used to create Deb package using :module:`CPack`.
|
||||
# CPackDeb is a :module:`CPack` generator thus it uses the ``CPACK_XXX``
|
||||
# variables used by :module:`CPack`.
|
||||
#
|
||||
# CPackDeb generator should work on any Linux host but it will produce
|
||||
# better deb package when Debian specific tools ``dpkg-xxx`` are usable on
|
||||
# the build system.
|
||||
#
|
||||
# CPackDeb has specific features which are controlled by the specifics
|
||||
# :code:`CPACK_DEBIAN_XXX` variables.
|
||||
#
|
||||
# :code:`CPACK_DEBIAN_<COMPONENT>_XXXX` variables may be used in order to have
|
||||
# **component** specific values. Note however that ``<COMPONENT>`` refers to
|
||||
# the **grouping name** written in upper case. It may be either a component name
|
||||
# or a component GROUP name.
|
||||
#
|
||||
# Here are some CPackDeb wiki resources that are here for historic reasons and
|
||||
# are no longer maintained but may still prove useful:
|
||||
#
|
||||
# - https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/Configuration
|
||||
# - https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/PackageGenerators#deb-unix-only
|
||||
#
|
||||
# List of CPackDEB specific variables:
|
||||
#
|
||||
# .. variable:: CPACK_DEB_COMPONENT_INSTALL
|
||||
#
|
||||
# Enable component packaging for CPackDEB
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : OFF
|
||||
#
|
||||
# If enabled (ON) multiple packages are generated. By default a single package
|
||||
# containing files of all components is generated.
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_NAME
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_NAME
|
||||
#
|
||||
# Set Package control field (variable is automatically transformed to lower
|
||||
# case).
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default :
|
||||
#
|
||||
# - :variable:`CPACK_PACKAGE_NAME` for non-component based
|
||||
# installations
|
||||
# - :variable:`CPACK_DEBIAN_PACKAGE_NAME` suffixed with -<COMPONENT>
|
||||
# for component-based installations.
|
||||
#
|
||||
# See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_FILE_NAME
|
||||
# CPACK_DEBIAN_<COMPONENT>_FILE_NAME
|
||||
#
|
||||
# Package file name.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : ``<CPACK_PACKAGE_FILE_NAME>[-<component>].deb``
|
||||
#
|
||||
# This may be set to ``DEB-DEFAULT`` to allow CPackDeb to generate package file
|
||||
# name by itself in deb format::
|
||||
#
|
||||
# <PackageName>_<VersionNumber>-<DebianRevisionNumber>_<DebianArchitecture>.deb
|
||||
#
|
||||
# Alternatively provided package file name must end
|
||||
# with either ``.deb`` or ``.ipk`` suffix.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# Preferred setting of this variable is ``DEB-DEFAULT`` but for backward
|
||||
# compatibility with CPackDeb in CMake prior to version 3.6 this feature
|
||||
# is disabled by default.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_EPOCH
|
||||
#
|
||||
# The Debian package epoch
|
||||
#
|
||||
# * Mandatory : No
|
||||
# * Default : -
|
||||
#
|
||||
# Optional number that should be incremented when changing versioning schemas
|
||||
# or fixing mistakes in the version numbers of older packages.
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_VERSION
|
||||
#
|
||||
# The Debian package version
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : :variable:`CPACK_PACKAGE_VERSION`
|
||||
#
|
||||
# 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
|
||||
# :variable:`CPACK_DEBIAN_PACKAGE_RELEASE` is not set then hyphens are not
|
||||
# allowed.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# For backward compatibility with CMake 3.9 and lower a failed test of this
|
||||
# variable's content is not a hard error when both
|
||||
# :variable:`CPACK_DEBIAN_PACKAGE_RELEASE` and
|
||||
# :variable:`CPACK_DEBIAN_PACKAGE_EPOCH` variables are not set. An author
|
||||
# warning is reported instead.
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_RELEASE
|
||||
#
|
||||
# The Debian package release - Debian revision number.
|
||||
#
|
||||
# * Mandatory : No
|
||||
# * Default : -
|
||||
#
|
||||
# This is the numbering of the DEB package itself, i.e. the version of the
|
||||
# packaging and not the version of the content (see
|
||||
# :variable:`CPACK_DEBIAN_PACKAGE_VERSION`). 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.
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_ARCHITECTURE
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_ARCHITECTURE
|
||||
#
|
||||
# The Debian package architecture
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : Output of :code:`dpkg --print-architecture` (or :code:`i386`
|
||||
# if :code:`dpkg` is not found)
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_DEPENDS
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS
|
||||
#
|
||||
# Sets the Debian dependencies of this package.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default :
|
||||
#
|
||||
# - An empty string for non-component based installations
|
||||
# - :variable:`CPACK_DEBIAN_PACKAGE_DEPENDS` for component-based
|
||||
# installations.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# If :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` or
|
||||
# more specifically :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS`
|
||||
# is set for this component, the discovered dependencies will be appended
|
||||
# to :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS` instead of
|
||||
# :variable:`CPACK_DEBIAN_PACKAGE_DEPENDS`. If
|
||||
# :variable:`CPACK_DEBIAN_<COMPONENT>_PACKAGE_DEPENDS` is an empty string,
|
||||
# only the automatically discovered dependencies will be set for this
|
||||
# component.
|
||||
#
|
||||
# Example::
|
||||
#
|
||||
# set(CPACK_DEBIAN_PACKAGE_DEPENDS "libc6 (>= 2.3.1-6), libc6 (< 2.4)")
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_ENABLE_COMPONENT_DEPENDS
|
||||
#
|
||||
# Sets inter component dependencies if listed with
|
||||
# :variable:`CPACK_COMPONENT_<compName>_DEPENDS` variables.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_MAINTAINER
|
||||
#
|
||||
# The Debian package maintainer
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : :code:`CPACK_PACKAGE_CONTACT`
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_DESCRIPTION
|
||||
# CPACK_COMPONENT_<COMPONENT>_DESCRIPTION
|
||||
#
|
||||
# The Debian package description
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default :
|
||||
#
|
||||
# - :variable:`CPACK_DEBIAN_PACKAGE_DESCRIPTION` if set or
|
||||
# - :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`
|
||||
#
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_SECTION
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_SECTION
|
||||
#
|
||||
# Set Section control field e.g. admin, devel, doc, ...
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : "devel"
|
||||
#
|
||||
# See https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_ARCHIVE_TYPE
|
||||
#
|
||||
# The archive format used for creating the Debian package.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : "paxr"
|
||||
#
|
||||
# Possible values are:
|
||||
#
|
||||
# - paxr
|
||||
# - gnutar
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# Default pax archive format is the most portable format and generates
|
||||
# packages that do not treat sparse files specially.
|
||||
# GNU tar format on the other hand supports longer filenames.
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_COMPRESSION_TYPE
|
||||
#
|
||||
# The compression used for creating the Debian package.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : "gzip"
|
||||
#
|
||||
# Possible values are:
|
||||
#
|
||||
# - lzma
|
||||
# - xz
|
||||
# - bzip2
|
||||
# - gzip
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_PRIORITY
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_PRIORITY
|
||||
#
|
||||
# Set Priority control field e.g. required, important, standard, optional,
|
||||
# extra
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : "optional"
|
||||
#
|
||||
# See https://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities
|
||||
#
|
||||
# .. variable:: 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.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : :variable:`CMAKE_PROJECT_HOMEPAGE_URL`
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# The content of this field is a simple URL without any surrounding
|
||||
# characters such as <>.
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_SHLIBDEPS
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_SHLIBDEPS
|
||||
#
|
||||
# May be set to ON in order to use :code:`dpkg-shlibdeps` to generate
|
||||
# better package dependency list.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default :
|
||||
#
|
||||
# - :variable:`CPACK_DEBIAN_PACKAGE_SHLIBDEPS` if set or
|
||||
# - OFF
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# You may need set :variable:`CMAKE_INSTALL_RPATH` to an appropriate value
|
||||
# if you use this feature, because if you don't :code:`dpkg-shlibdeps`
|
||||
# may fail to find your own shared libs.
|
||||
# See https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/RPATH-handling
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_DEBUG
|
||||
#
|
||||
# May be set when invoking cpack in order to trace debug information
|
||||
# during CPackDeb run.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_PREDEPENDS
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_PREDEPENDS
|
||||
#
|
||||
# Sets the `Pre-Depends` field of the Debian package.
|
||||
# Like :variable:`Depends <CPACK_DEBIAN_PACKAGE_DEPENDS>`, except that it
|
||||
# also forces :code:`dpkg` to complete installation of the packages named
|
||||
# before even starting the installation of the package which declares the
|
||||
# pre-dependency.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default :
|
||||
#
|
||||
# - An empty string for non-component based installations
|
||||
# - :variable:`CPACK_DEBIAN_PACKAGE_PREDEPENDS` for component-based
|
||||
# installations.
|
||||
#
|
||||
# See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_ENHANCES
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_ENHANCES
|
||||
#
|
||||
# Sets the `Enhances` field of the Debian package.
|
||||
# Similar to :variable:`Suggests <CPACK_DEBIAN_PACKAGE_SUGGESTS>` but works
|
||||
# in the opposite direction: declares that a package can enhance the
|
||||
# functionality of another package.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default :
|
||||
#
|
||||
# - An empty string for non-component based installations
|
||||
# - :variable:`CPACK_DEBIAN_PACKAGE_ENHANCES` for component-based
|
||||
# installations.
|
||||
#
|
||||
# See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_BREAKS
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_BREAKS
|
||||
#
|
||||
# Sets the `Breaks` field of the Debian package.
|
||||
# When a binary package (P) declares that it breaks other packages (B),
|
||||
# :code:`dpkg` will not allow the package (P) which declares `Breaks` be
|
||||
# **unpacked** 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.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default :
|
||||
#
|
||||
# - An empty string for non-component based installations
|
||||
# - :variable:`CPACK_DEBIAN_PACKAGE_BREAKS` for component-based
|
||||
# installations.
|
||||
#
|
||||
# See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-breaks
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_CONFLICTS
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONFLICTS
|
||||
#
|
||||
# Sets the `Conflicts` field of the Debian package.
|
||||
# When one binary package declares a conflict with another using a `Conflicts`
|
||||
# field, :code:`dpkg` will not allow them to be unpacked on the system at
|
||||
# the same time.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default :
|
||||
#
|
||||
# - An empty string for non-component based installations
|
||||
# - :variable:`CPACK_DEBIAN_PACKAGE_CONFLICTS` for component-based
|
||||
# installations.
|
||||
#
|
||||
# See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-conflicts
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# This is a stronger restriction than
|
||||
# :variable:`Breaks <CPACK_DEBIAN_PACKAGE_BREAKS>`, 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.
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_PROVIDES
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_PROVIDES
|
||||
#
|
||||
# Sets the `Provides` field of the Debian package.
|
||||
# A virtual package is one which appears in the `Provides` control field of
|
||||
# another package.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default :
|
||||
#
|
||||
# - An empty string for non-component based installations
|
||||
# - :variable:`CPACK_DEBIAN_PACKAGE_PROVIDES` for component-based
|
||||
# installations.
|
||||
#
|
||||
# See https://www.debian.org/doc/debian-policy/ch-relationships.html#s-virtual
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_REPLACES
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_REPLACES
|
||||
#
|
||||
# Sets the `Replaces` 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.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default :
|
||||
#
|
||||
# - An empty string for non-component based installations
|
||||
# - :variable:`CPACK_DEBIAN_PACKAGE_REPLACES` for component-based
|
||||
# installations.
|
||||
#
|
||||
# See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_RECOMMENDS
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_RECOMMENDS
|
||||
#
|
||||
# Sets the `Recommends` field of the Debian package.
|
||||
# Allows packages to declare a strong, but not absolute, dependency on other
|
||||
# packages.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default :
|
||||
#
|
||||
# - An empty string for non-component based installations
|
||||
# - :variable:`CPACK_DEBIAN_PACKAGE_RECOMMENDS` for component-based
|
||||
# installations.
|
||||
#
|
||||
# See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_SUGGESTS
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_SUGGESTS
|
||||
#
|
||||
# Sets the `Suggests` field of the Debian package.
|
||||
# Allows packages to declare a suggested package install grouping.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default :
|
||||
#
|
||||
# - An empty string for non-component based installations
|
||||
# - :variable:`CPACK_DEBIAN_PACKAGE_SUGGESTS` for component-based
|
||||
# installations.
|
||||
#
|
||||
# See http://www.debian.org/doc/debian-policy/ch-relationships.html#s-binarydeps
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : OFF
|
||||
#
|
||||
# Allows to generate shlibs control file automatically. Compatibility is defined by
|
||||
# :variable:`CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY` variable value.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# Libraries are only considered if they have both library name and version
|
||||
# set. This can be done by setting SOVERSION property with
|
||||
# :command:`set_target_properties` command.
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_GENERATE_SHLIBS_POLICY
|
||||
#
|
||||
# Compatibility policy for auto-generated shlibs control file.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : "="
|
||||
#
|
||||
# Defines compatibility policy for auto-generated shlibs control file.
|
||||
# Possible values: "=", ">="
|
||||
#
|
||||
# See https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-shlibdeps
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
|
||||
# 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.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# Usage::
|
||||
#
|
||||
# set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
|
||||
# "${CMAKE_CURRENT_SOURCE_DIR}/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# The original permissions of the files will be used in the final
|
||||
# package unless the variable
|
||||
# :variable:`CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION` is set.
|
||||
# In particular, the scripts should have the proper executable
|
||||
# flag prior to the generation of the package.
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_CONTROL_STRICT_PERMISSION
|
||||
#
|
||||
# This variable indicates if the Debian policy on control files should be
|
||||
# strictly followed.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : FALSE
|
||||
#
|
||||
# Usage::
|
||||
#
|
||||
# set(CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION TRUE)
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# This overrides the permissions on the original files, following the rules
|
||||
# set by Debian policy
|
||||
# https://www.debian.org/doc/debian-policy/ch-files.html#s-permissions-owners
|
||||
#
|
||||
# .. variable:: CPACK_DEBIAN_PACKAGE_SOURCE
|
||||
# CPACK_DEBIAN_<COMPONENT>_PACKAGE_SOURCE
|
||||
#
|
||||
# Sets the ``Source`` 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 ``Source``.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default :
|
||||
#
|
||||
# - An empty string for non-component based installations
|
||||
# - :variable:`CPACK_DEBIAN_PACKAGE_SOURCE` for component-based
|
||||
# installations.
|
||||
#
|
||||
# See https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-Source
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# This value is not interpreted. It is possible to pass an optional
|
||||
# revision number of the referenced source package as well.
|
||||
#
|
||||
# Building Debian packages on Windows
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# When a filesystem without ADT support is used only owner read/write
|
||||
# permissions can be preserved.
|
||||
|
||||
# CPack script for creating Debian package
|
||||
# Author: Mathieu Malaterre
|
||||
#
|
||||
@@ -0,0 +1,107 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
|
||||
if(CMAKE_BINARY_DIR)
|
||||
message(FATAL_ERROR "CPackFreeBSD.cmake may only be used by CPack internally.")
|
||||
endif()
|
||||
|
||||
if(NOT UNIX)
|
||||
message(FATAL_ERROR "CPackFreeBSD.cmake may only be used under UNIX.")
|
||||
endif()
|
||||
|
||||
|
||||
###
|
||||
#
|
||||
# These bits are copied from the Debian packaging file; slightly modified.
|
||||
# They are used for filling in FreeBSD-packaging variables that can take
|
||||
# on values from elsewhere -- e.g. the package description may as well be
|
||||
# copied from Debian.
|
||||
#
|
||||
function(_cpack_freebsd_fallback_var OUTPUT_VAR_NAME)
|
||||
set(FALLBACK_VAR_NAMES ${ARGN})
|
||||
|
||||
set(VALUE "${${OUTPUT_VAR_NAME}}")
|
||||
if(VALUE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
foreach(variable_name IN LISTS FALLBACK_VAR_NAMES)
|
||||
if(${variable_name})
|
||||
set(${OUTPUT_VAR_NAME} "${${variable_name}}" PARENT_SCOPE)
|
||||
set(VALUE "${${variable_name}}")
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
if(NOT VALUE)
|
||||
message(WARNING "Variable ${OUTPUT_VAR_NAME} could not be given a fallback value from any variable ${FALLBACK_VAR_NAMES}.")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(check_required_var VAR_NAME)
|
||||
if(NOT ${VAR_NAME})
|
||||
message(FATAL_ERROR "Variable ${VAR_NAME} is not set.")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
set(_cpack_freebsd_fallback_origin "misc/bogus")
|
||||
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_NAME"
|
||||
"CPACK_PACKAGE_NAME"
|
||||
"CMAKE_PROJECT_NAME"
|
||||
)
|
||||
|
||||
set(_cpack_freebsd_fallback_www "http://example.com/?pkg=${CPACK_FREEBSD_PACKAGE_NAME}")
|
||||
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_COMMENT"
|
||||
"CPACK_PACKAGE_DESCRIPTION_SUMMARY"
|
||||
)
|
||||
|
||||
# TODO: maybe read the PACKAGE_DESCRIPTION file for the longer
|
||||
# FreeBSD pkg-descr?
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_DESCRIPTION"
|
||||
"CPACK_DEBIAN_PACKAGE_DESCRIPTION"
|
||||
"CPACK_PACKAGE_DESCRIPTION_SUMMARY"
|
||||
"PACKAGE_DESCRIPTION"
|
||||
)
|
||||
|
||||
# There's really only one homepage for a project, so
|
||||
# re-use the Debian setting if it's there.
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_WWW"
|
||||
"CMAKE_PROJECT_HOMEPAGE_URL"
|
||||
"CPACK_DEBIAN_PACKAGE_HOMEPAGE"
|
||||
"_cpack_freebsd_fallback_www"
|
||||
)
|
||||
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_VERSION"
|
||||
"CMAKE_PROJECT_VERSION"
|
||||
"${CMAKE_PROJECT_NAME}_VERSION"
|
||||
"PROJECT_VERSION"
|
||||
"CPACK_PACKAGE_VERSION"
|
||||
"CPACK_PACKAGE_VERSION"
|
||||
)
|
||||
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_MAINTAINER"
|
||||
"CPACK_PACKAGE_CONTACT"
|
||||
)
|
||||
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_LICENSE"
|
||||
"CPACK_RPM_PACKAGE_LICENSE"
|
||||
)
|
||||
|
||||
_cpack_freebsd_fallback_var("CPACK_FREEBSD_PACKAGE_ORIGIN"
|
||||
"_cpack_freebsd_fallback_origin"
|
||||
)
|
||||
|
||||
if(NOT CPACK_FREEBSD_PACKAGE_CATEGORIES)
|
||||
string(REGEX REPLACE "/.*" "" CPACK_FREEBSD_PACKAGE_CATEGORIES ${CPACK_FREEBSD_PACKAGE_ORIGIN})
|
||||
endif()
|
||||
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_NAME")
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_ORIGIN")
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_VERSION")
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_MAINTAINER")
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_COMMENT")
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_DESCRIPTION")
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_WWW")
|
||||
check_required_var("CPACK_FREEBSD_PACKAGE_LICENSE")
|
||||
@@ -1,199 +1,6 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#[=======================================================================[.rst:
|
||||
CPackNuGet
|
||||
----------
|
||||
|
||||
When build a NuGet package there is no direct way to control an output
|
||||
filename due a lack of the corresponding CLI option of NuGet, so there
|
||||
is no ``CPACK_NUGET_PACKAGE_FILENAME`` variable. To form the output filename
|
||||
NuGet uses the package name and the version according to its built-in rules.
|
||||
|
||||
Also, be aware that including a top level directory
|
||||
(``CPACK_INCLUDE_TOPLEVEL_DIRECTORY``) is ignored by this generator.
|
||||
|
||||
|
||||
Variables specific to CPack NuGet generator
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
CPackNuGet may be used to create NuGet packages using :module:`CPack`.
|
||||
CPackNuGet is a :module:`CPack` generator thus it uses the ``CPACK_XXX``
|
||||
variables used by :module:`CPack`.
|
||||
|
||||
CPackNuGet has specific features which are controlled by the specifics
|
||||
:code:`CPACK_NUGET_XXX` variables. In the "one per group" mode
|
||||
(see :variable:`CPACK_COMPONENTS_GROUPING`), ``<compName>`` placeholder
|
||||
in the variables below would contain a group name (uppercased and turned into
|
||||
a "C" identifier).
|
||||
|
||||
List of CPackNuGet specific variables:
|
||||
|
||||
.. variable:: CPACK_NUGET_COMPONENT_INSTALL
|
||||
|
||||
Enable component packaging for CPackNuGet
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : OFF
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_NAME
|
||||
CPACK_NUGET_<compName>_PACKAGE_NAME
|
||||
|
||||
The NUGET package name.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : :variable:`CPACK_PACKAGE_NAME`
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_VERSION
|
||||
CPACK_NUGET_<compName>_PACKAGE_VERSION
|
||||
|
||||
The NuGet package version.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : :variable:`CPACK_PACKAGE_VERSION`
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_DESCRIPTION
|
||||
CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION
|
||||
|
||||
A long description of the package for UI display.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default :
|
||||
- :variable:`CPACK_COMPONENT_<compName>_DESCRIPTION`,
|
||||
- ``CPACK_COMPONENT_GROUP_<groupName>_DESCRIPTION``,
|
||||
- :variable:`CPACK_PACKAGE_DESCRIPTION`
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_AUTHORS
|
||||
CPACK_NUGET_<compName>_PACKAGE_AUTHORS
|
||||
|
||||
A comma-separated list of packages authors, matching the profile names
|
||||
on nuget.org_. These are displayed in the NuGet Gallery on
|
||||
nuget.org_ and are used to cross-reference packages by the same
|
||||
authors.
|
||||
|
||||
* Mandatory : YES
|
||||
* Default : :variable:`CPACK_PACKAGE_VENDOR`
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_TITLE
|
||||
CPACK_NUGET_<compName>_PACKAGE_TITLE
|
||||
|
||||
A human-friendly title of the package, typically used in UI displays
|
||||
as on nuget.org_ and the Package Manager in Visual Studio. If not
|
||||
specified, the package ID is used.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default :
|
||||
- :variable:`CPACK_COMPONENT_<compName>_DISPLAY_NAME`,
|
||||
- ``CPACK_COMPONENT_GROUP_<groupName>_DISPLAY_NAME``
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_OWNERS
|
||||
CPACK_NUGET_<compName>_PACKAGE_OWNERS
|
||||
|
||||
A comma-separated list of the package creators using profile names
|
||||
on nuget.org_. This is often the same list as in authors,
|
||||
and is ignored when uploading the package to nuget.org_.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_HOMEPAGE_URL
|
||||
CPACK_NUGET_<compName>_PACKAGE_HOMEPAGE_URL
|
||||
|
||||
A URL for the package's home page, often shown in UI displays as well
|
||||
as nuget.org_.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : :variable:`CPACK_PACKAGE_HOMEPAGE_URL`
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_LICENSEURL
|
||||
CPACK_NUGET_<compName>_PACKAGE_LICENSEURL
|
||||
|
||||
A URL for the package's license, often shown in UI displays as well
|
||||
as nuget.org_.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_ICONURL
|
||||
CPACK_NUGET_<compName>_PACKAGE_ICONURL
|
||||
|
||||
A URL for a 64x64 image with transparency background to use as the
|
||||
icon for the package in UI display.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_DESCRIPTION_SUMMARY
|
||||
CPACK_NUGET_<compName>_PACKAGE_DESCRIPTION_SUMMARY
|
||||
|
||||
A short description of the package for UI display. If omitted, a
|
||||
truncated version of description is used.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_RELEASE_NOTES
|
||||
CPACK_NUGET_<compName>_PACKAGE_RELEASE_NOTES
|
||||
|
||||
A description of the changes made in this release of the package,
|
||||
often used in UI like the Updates tab of the Visual Studio Package
|
||||
Manager in place of the package description.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_COPYRIGHT
|
||||
CPACK_NUGET_<compName>_PACKAGE_COPYRIGHT
|
||||
|
||||
Copyright details for the package.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_TAGS
|
||||
CPACK_NUGET_<compName>_PACKAGE_TAGS
|
||||
|
||||
A space-delimited list of tags and keywords that describe the
|
||||
package and aid discoverability of packages through search and
|
||||
filtering.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_DEPENDENCIES
|
||||
CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES
|
||||
|
||||
A list of package dependencies.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_DEPENDENCIES_<dependency>_VERSION
|
||||
CPACK_NUGET_<compName>_PACKAGE_DEPENDENCIES_<dependency>_VERSION
|
||||
|
||||
A `version specification`_ for the particular dependency, where
|
||||
``<dependency>`` is an item of the dependency list (see above)
|
||||
transformed with ``MAKE_C_IDENTIFIER`` function of :command:`string`
|
||||
command.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : -
|
||||
|
||||
.. variable:: CPACK_NUGET_PACKAGE_DEBUG
|
||||
|
||||
Enable debug messages while executing ``CPackNuGet.cmake``.
|
||||
|
||||
* Mandatory : NO
|
||||
* Default : OFF
|
||||
|
||||
|
||||
.. _nuget.org: http://nuget.org
|
||||
.. _version specification: https://docs.microsoft.com/en-us/nuget/reference/package-versioning#version-ranges-and-wildcards
|
||||
|
||||
.. NuGet spec docs https://docs.microsoft.com/en-us/nuget/reference/nuspec
|
||||
|
||||
#]=======================================================================]
|
||||
|
||||
# Author: Alex Turbov
|
||||
|
||||
if(CMAKE_BINARY_DIR)
|
||||
@@ -455,7 +262,7 @@ function(_cpack_nuget_render_spec)
|
||||
# NuGet will name it properly.
|
||||
_cpack_nuget_debug("Rendering `${CPACK_TEMPORARY_DIRECTORY}/CPack.NuGet.nuspec` file...")
|
||||
configure_file(
|
||||
"${CMAKE_CURRENT_LIST_DIR}/CPack.NuGet.nuspec.in"
|
||||
"${CMAKE_ROOT}/Modules/CPack.NuGet.nuspec.in"
|
||||
"${CPACK_TEMPORARY_DIRECTORY}/CPack.NuGet.nuspec"
|
||||
@ONLY
|
||||
)
|
||||
@@ -1,963 +1,6 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
#.rst:
|
||||
# CPackRPM
|
||||
# --------
|
||||
#
|
||||
# The built in (binary) CPack RPM generator (Unix only)
|
||||
#
|
||||
# Variables specific to CPack RPM generator
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# CPackRPM may be used to create RPM packages using :module:`CPack`.
|
||||
# CPackRPM is a :module:`CPack` generator thus it uses the ``CPACK_XXX``
|
||||
# variables used by :module:`CPack`.
|
||||
#
|
||||
# CPackRPM has specific features which are controlled by the specifics
|
||||
# :code:`CPACK_RPM_XXX` variables.
|
||||
#
|
||||
# :code:`CPACK_RPM_<COMPONENT>_XXXX` variables may be used in order to have
|
||||
# **component** specific values. Note however that ``<COMPONENT>`` refers to the
|
||||
# **grouping name** 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
|
||||
# http://www.rpm.org/wiki/Docs
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# `<COMPONENT>` part of variables is preferred to be in upper case (for e.g. if
|
||||
# component is named `foo` then use `CPACK_RPM_FOO_XXXX` variable name format)
|
||||
# as is with other `CPACK_<COMPONENT>_XXXX` variables.
|
||||
# For the purposes of back compatibility (CMake/CPack version 3.5 and lower)
|
||||
# support for same cased component (e.g. `fOo` would be used as
|
||||
# `CPACK_RPM_fOo_XXXX`) 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.
|
||||
#
|
||||
# Here are some CPackRPM wiki resources that are here for historic reasons and
|
||||
# are no longer maintained but may still prove useful:
|
||||
#
|
||||
# - https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/Configuration
|
||||
# - https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/PackageGenerators#rpm-unix-only
|
||||
#
|
||||
# List of CPackRPM specific variables:
|
||||
#
|
||||
# .. variable:: CPACK_RPM_COMPONENT_INSTALL
|
||||
#
|
||||
# Enable component packaging for CPackRPM
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : OFF
|
||||
#
|
||||
# If enabled (ON) multiple packages are generated. By default a single package
|
||||
# containing files of all components is generated.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_SUMMARY
|
||||
# CPACK_RPM_<component>_PACKAGE_SUMMARY
|
||||
#
|
||||
# The RPM package summary.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_NAME
|
||||
# CPACK_RPM_<component>_PACKAGE_NAME
|
||||
#
|
||||
# The RPM package name.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : :variable:`CPACK_PACKAGE_NAME`
|
||||
#
|
||||
# .. variable:: CPACK_RPM_FILE_NAME
|
||||
# CPACK_RPM_<component>_FILE_NAME
|
||||
#
|
||||
# Package file name.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : ``<CPACK_PACKAGE_FILE_NAME>[-<component>].rpm`` with spaces
|
||||
# replaced by '-'
|
||||
#
|
||||
# This may be set to ``RPM-DEFAULT`` to allow rpmbuild tool to generate package
|
||||
# file name by itself.
|
||||
# Alternatively provided package file name must end with ``.rpm`` suffix.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# By using user provided spec file, rpm macro extensions such as for
|
||||
# generating debuginfo 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 it's 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.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_MAIN_COMPONENT
|
||||
#
|
||||
# Main component that is packaged without component suffix.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_EPOCH
|
||||
#
|
||||
# The RPM package epoch
|
||||
#
|
||||
# * Mandatory : No
|
||||
# * Default : -
|
||||
#
|
||||
# Optional number that should be incremented when changing versioning schemas
|
||||
# or fixing mistakes in the version numbers of older packages.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_VERSION
|
||||
#
|
||||
# The RPM package version.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : :variable:`CPACK_PACKAGE_VERSION`
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_ARCHITECTURE
|
||||
# CPACK_RPM_<component>_PACKAGE_ARCHITECTURE
|
||||
#
|
||||
# The RPM package architecture.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : Native architecture output by ``uname -m``
|
||||
#
|
||||
# This may be set to ``noarch`` if you know you are building a noarch package.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_RELEASE
|
||||
#
|
||||
# The RPM package release.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : 1
|
||||
#
|
||||
# This is the numbering of the RPM package itself, i.e. the version of the
|
||||
# packaging and not the version of the content (see
|
||||
# :variable:`CPACK_RPM_PACKAGE_VERSION`). 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.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# This is the string that goes into the RPM ``Release:`` field. Some distros
|
||||
# (e.g. Fedora, CentOS) require ``1%{?dist}`` format and not just a number.
|
||||
# ``%{?dist}`` part can be added by setting :variable:`CPACK_RPM_PACKAGE_RELEASE_DIST`.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_RELEASE_DIST
|
||||
#
|
||||
# The dist tag that is added RPM ``Release:`` field.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : OFF
|
||||
#
|
||||
# This is the reported ``%{dist}`` tag from the current distribution or empty
|
||||
# ``%{dist}`` if RPM macro is not set. If this variable is set then RPM
|
||||
# ``Release:`` field value is set to ``${CPACK_RPM_PACKAGE_RELEASE}%{?dist}``.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_LICENSE
|
||||
#
|
||||
# The RPM package license policy.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : "unknown"
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_GROUP
|
||||
# CPACK_RPM_<component>_PACKAGE_GROUP
|
||||
#
|
||||
# The RPM package group.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : "unknown"
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_VENDOR
|
||||
#
|
||||
# The RPM package vendor.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : CPACK_PACKAGE_VENDOR if set or "unknown"
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_URL
|
||||
# CPACK_RPM_<component>_PACKAGE_URL
|
||||
#
|
||||
# The projects URL.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : :variable:`CMAKE_PROJECT_HOMEPAGE_URL`
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_DESCRIPTION
|
||||
# CPACK_RPM_<component>_PACKAGE_DESCRIPTION
|
||||
#
|
||||
# RPM package description.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : :variable:`CPACK_COMPONENT_<compName>_DESCRIPTION` (component
|
||||
# based installers only) if set, :variable:`CPACK_PACKAGE_DESCRIPTION_FILE`
|
||||
# if set or "no package description available"
|
||||
#
|
||||
# .. variable:: CPACK_RPM_COMPRESSION_TYPE
|
||||
#
|
||||
# RPM compression type.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to override RPM compression type to be used to build the
|
||||
# RPM. For example some Linux distribution now default to lzma or xz
|
||||
# compression whereas older cannot use such RPM. Using this one can enforce
|
||||
# compression type to be used.
|
||||
#
|
||||
# Possible values are:
|
||||
#
|
||||
# - lzma
|
||||
# - xz
|
||||
# - bzip2
|
||||
# - gzip
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_AUTOREQ
|
||||
# CPACK_RPM_<component>_PACKAGE_AUTOREQ
|
||||
#
|
||||
# RPM spec autoreq field.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to enable (1, yes) or disable (0, no) automatic shared libraries
|
||||
# dependency detection. Dependencies are added to requires list.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# By default automatic dependency detection is enabled by rpm generator.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_AUTOPROV
|
||||
# CPACK_RPM_<component>_PACKAGE_AUTOPROV
|
||||
#
|
||||
# RPM spec autoprov field.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to enable (1, yes) or disable (0, no) automatic listing of shared
|
||||
# libraries that are provided by the package. Shared libraries are added to
|
||||
# provides list.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# By default automatic provides detection is enabled by rpm generator.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_AUTOREQPROV
|
||||
# CPACK_RPM_<component>_PACKAGE_AUTOREQPROV
|
||||
#
|
||||
# RPM spec autoreqprov field.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# Variable enables/disables autoreq and autoprov at the same time.
|
||||
# See :variable:`CPACK_RPM_PACKAGE_AUTOREQ` and :variable:`CPACK_RPM_PACKAGE_AUTOPROV`
|
||||
# for more details.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# By default automatic detection feature is enabled by rpm.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_REQUIRES
|
||||
# CPACK_RPM_<component>_PACKAGE_REQUIRES
|
||||
#
|
||||
# RPM spec requires field.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to set RPM dependencies (requires). Note that you must enclose
|
||||
# the complete requires string between quotes, for example::
|
||||
#
|
||||
# set(CPACK_RPM_PACKAGE_REQUIRES "python >= 2.5.0, cmake >= 2.8")
|
||||
#
|
||||
# The required package list of an RPM file could be printed with::
|
||||
#
|
||||
# rpm -qp --requires file.rpm
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_CONFLICTS
|
||||
# CPACK_RPM_<component>_PACKAGE_CONFLICTS
|
||||
#
|
||||
# RPM spec conflicts field.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to set negative RPM dependencies (conflicts). Note that you must
|
||||
# enclose the complete requires string between quotes, for example::
|
||||
#
|
||||
# set(CPACK_RPM_PACKAGE_CONFLICTS "libxml2")
|
||||
#
|
||||
# The conflicting package list of an RPM file could be printed with::
|
||||
#
|
||||
# rpm -qp --conflicts file.rpm
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_REQUIRES_PRE
|
||||
# CPACK_RPM_<component>_PACKAGE_REQUIRES_PRE
|
||||
#
|
||||
# RPM spec requires(pre) field.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to set RPM preinstall dependencies (requires(pre)). Note that
|
||||
# you must enclose the complete requires string between quotes, for example::
|
||||
#
|
||||
# set(CPACK_RPM_PACKAGE_REQUIRES_PRE "shadow-utils, initscripts")
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_REQUIRES_POST
|
||||
# CPACK_RPM_<component>_PACKAGE_REQUIRES_POST
|
||||
#
|
||||
# RPM spec requires(post) field.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to set RPM postinstall dependencies (requires(post)). Note that
|
||||
# you must enclose the complete requires string between quotes, for example::
|
||||
#
|
||||
# set(CPACK_RPM_PACKAGE_REQUIRES_POST "shadow-utils, initscripts")
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_REQUIRES_POSTUN
|
||||
# CPACK_RPM_<component>_PACKAGE_REQUIRES_POSTUN
|
||||
#
|
||||
# RPM spec requires(postun) field.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to set RPM postuninstall dependencies (requires(postun)). Note
|
||||
# that you must enclose the complete requires string between quotes, for
|
||||
# example::
|
||||
#
|
||||
# set(CPACK_RPM_PACKAGE_REQUIRES_POSTUN "shadow-utils, initscripts")
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_REQUIRES_PREUN
|
||||
# CPACK_RPM_<component>_PACKAGE_REQUIRES_PREUN
|
||||
#
|
||||
# RPM spec requires(preun) field.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to set RPM preuninstall dependencies (requires(preun)). Note that
|
||||
# you must enclose the complete requires string between quotes, for example::
|
||||
#
|
||||
# set(CPACK_RPM_PACKAGE_REQUIRES_PREUN "shadow-utils, initscripts")
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_SUGGESTS
|
||||
# CPACK_RPM_<component>_PACKAGE_SUGGESTS
|
||||
#
|
||||
# RPM spec suggest field.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to set weak RPM dependencies (suggests). Note that you must
|
||||
# enclose the complete requires string between quotes.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_PROVIDES
|
||||
# CPACK_RPM_<component>_PACKAGE_PROVIDES
|
||||
#
|
||||
# RPM spec provides field.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to set RPM dependencies (provides). The provided package list
|
||||
# of an RPM file could be printed with::
|
||||
#
|
||||
# rpm -qp --provides file.rpm
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_OBSOLETES
|
||||
# CPACK_RPM_<component>_PACKAGE_OBSOLETES
|
||||
#
|
||||
# RPM spec obsoletes field.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to set RPM packages that are obsoleted by this one.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_RELOCATABLE
|
||||
#
|
||||
# build a relocatable RPM.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : CPACK_PACKAGE_RELOCATABLE
|
||||
#
|
||||
# If this variable is set to TRUE or ON CPackRPM will try
|
||||
# to build a relocatable RPM package. A relocatable RPM may
|
||||
# be installed using::
|
||||
#
|
||||
# rpm --prefix or --relocate
|
||||
#
|
||||
# in order to install it at an alternate place see rpm(8). Note that
|
||||
# currently this may fail if :variable:`CPACK_SET_DESTDIR` is set to ``ON``. If
|
||||
# :variable:`CPACK_SET_DESTDIR` is set then you will get a warning message but
|
||||
# if there is file installed with absolute path you'll get unexpected behavior.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_SPEC_INSTALL_POST
|
||||
#
|
||||
# Deprecated - use :variable:`CPACK_RPM_SPEC_MORE_DEFINE` instead.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
# * Deprecated: YES
|
||||
#
|
||||
# May be used to override the ``__spec_install_post`` 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
|
||||
# :variable:`CPACK_RPM_POST_INSTALL_SCRIPT_FILE` instead.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_SPEC_MORE_DEFINE
|
||||
#
|
||||
# RPM extended spec definitions lines.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to add any ``%define`` 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)::
|
||||
#
|
||||
# set(CPACK_RPM_SPEC_MORE_DEFINE "%define __spec_install_post /bin/true")
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_DEBUG
|
||||
#
|
||||
# Toggle CPackRPM debug output.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be set when invoking cpack in order to trace debug information
|
||||
# during CPack RPM run. For example you may launch CPack like this::
|
||||
#
|
||||
# cpack -D CPACK_RPM_PACKAGE_DEBUG=1 -G RPM
|
||||
#
|
||||
# .. variable:: CPACK_RPM_USER_BINARY_SPECFILE
|
||||
# CPACK_RPM_<componentName>_USER_BINARY_SPECFILE
|
||||
#
|
||||
# A user provided spec file.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be set by the user in order to specify a USER binary spec file
|
||||
# to be used by CPackRPM instead of generating the file.
|
||||
# The specified file will be processed by configure_file( @ONLY).
|
||||
#
|
||||
# .. variable:: CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE
|
||||
#
|
||||
# Spec file template.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# If set CPack will generate a template for USER specified binary
|
||||
# spec file and stop with an error. For example launch CPack like this::
|
||||
#
|
||||
# cpack -D CPACK_RPM_GENERATE_USER_BINARY_SPECFILE_TEMPLATE=1 -G RPM
|
||||
#
|
||||
# The user may then use this file in order to hand-craft is own
|
||||
# binary spec file which may be used with
|
||||
# :variable:`CPACK_RPM_USER_BINARY_SPECFILE`.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PRE_INSTALL_SCRIPT_FILE
|
||||
# CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE
|
||||
#
|
||||
# Path to file containing pre (un)install script.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to embed a pre (un)installation script in the spec file.
|
||||
# The referred script file (or both) will be read and directly
|
||||
# put after the ``%pre`` or ``%preun`` section
|
||||
# If :variable:`CPACK_RPM_COMPONENT_INSTALL` is set to ON the (un)install
|
||||
# script for each component can be overridden with
|
||||
# ``CPACK_RPM_<COMPONENT>_PRE_INSTALL_SCRIPT_FILE`` and
|
||||
# ``CPACK_RPM_<COMPONENT>_PRE_UNINSTALL_SCRIPT_FILE``.
|
||||
# One may verify which scriptlet has been included with::
|
||||
#
|
||||
# rpm -qp --scripts package.rpm
|
||||
#
|
||||
# .. variable:: CPACK_RPM_POST_INSTALL_SCRIPT_FILE
|
||||
# CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE
|
||||
#
|
||||
# Path to file containing post (un)install script.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to embed a post (un)installation script in the spec file.
|
||||
# The referred script file (or both) will be read and directly
|
||||
# put after the ``%post`` or ``%postun`` section.
|
||||
# If :variable:`CPACK_RPM_COMPONENT_INSTALL` is set to ON the (un)install
|
||||
# script for each component can be overridden with
|
||||
# ``CPACK_RPM_<COMPONENT>_POST_INSTALL_SCRIPT_FILE`` and
|
||||
# ``CPACK_RPM_<COMPONENT>_POST_UNINSTALL_SCRIPT_FILE``.
|
||||
# One may verify which scriptlet has been included with::
|
||||
#
|
||||
# rpm -qp --scripts package.rpm
|
||||
#
|
||||
# .. variable:: CPACK_RPM_USER_FILELIST
|
||||
# CPACK_RPM_<COMPONENT>_USER_FILELIST
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to explicitly specify ``%(<directive>)`` file line
|
||||
# in the spec file. Like ``%config(noreplace)`` or any other directive
|
||||
# that be found in the ``%files`` section. You can have multiple directives
|
||||
# per line, as in ``%attr(600,root,root) %config(noreplace)``. Since
|
||||
# CPackRPM is generating the list of files (and directories) the user
|
||||
# specified files of the ``CPACK_RPM_<COMPONENT>_USER_FILELIST`` list will
|
||||
# be removed from the generated list. If referring to directories do
|
||||
# not add a trailing slash.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_CHANGELOG_FILE
|
||||
#
|
||||
# RPM changelog file.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to embed a changelog in the spec file.
|
||||
# The referred file will be read and directly put after the ``%changelog``
|
||||
# section.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST
|
||||
#
|
||||
# list of path to be excluded.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : /etc /etc/init.d /usr /usr/bin /usr/include /usr/lib
|
||||
# /usr/libx32 /usr/lib64 /usr/share /usr/share/aclocal
|
||||
# /usr/share/doc
|
||||
#
|
||||
# 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 CPackRPM will NOT any of the default
|
||||
# path. If you want to add some path to the default list then you can use
|
||||
# :variable:`CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION` variable.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
|
||||
#
|
||||
# additional list of path to be excluded.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to add more exclude path (directories or files) from the initial
|
||||
# default list of excluded paths. See
|
||||
# :variable:`CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST`.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_RELOCATION_PATHS
|
||||
#
|
||||
# Packages relocation paths list.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# 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 :variable:`CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX` or by the
|
||||
# value of :variable:`CPACK_PACKAGING_INSTALL_PREFIX` 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 :variable:`CPACK_RPM_RELOCATION_PATHS` 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 ``AUTHOR_WARNING`` that RPM will be partially relocatable.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
|
||||
#
|
||||
# Per component relocation path install prefix.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : CPACK_PACKAGING_INSTALL_PREFIX
|
||||
#
|
||||
# May be used to set per component :variable:`CPACK_PACKAGING_INSTALL_PREFIX`
|
||||
# for relocatable RPM packages.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_NO_INSTALL_PREFIX_RELOCATION
|
||||
# CPACK_RPM_NO_<COMPONENT>_INSTALL_PREFIX_RELOCATION
|
||||
#
|
||||
# Removal of default install prefix from relocation paths list.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : CPACK_PACKAGING_INSTALL_PREFIX or CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
|
||||
# are treated as one of relocation paths
|
||||
#
|
||||
# May be used to remove CPACK_PACKAGING_INSTALL_PREFIX and CPACK_RPM_<COMPONENT>_PACKAGE_PREFIX
|
||||
# from relocatable RPM prefix paths.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_ADDITIONAL_MAN_DIRS
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# Regular expressions that are added by default were taken from brp-compress
|
||||
# RPM macro:
|
||||
#
|
||||
# - /usr/man/man.*
|
||||
# - /usr/man/.*/man.*
|
||||
# - /usr/info.*
|
||||
# - /usr/share/man/man.*
|
||||
# - /usr/share/man/.*/man.*
|
||||
# - /usr/share/info.*
|
||||
# - /usr/kerberos/man.*
|
||||
# - /usr/X11R6/man/man.*
|
||||
# - /usr/lib/perl5/man/man.*
|
||||
# - /usr/share/doc/.*/man/man.*
|
||||
# - /usr/lib/.*/man/man.*
|
||||
#
|
||||
# .. variable:: CPACK_RPM_DEFAULT_USER
|
||||
# CPACK_RPM_<compName>_DEFAULT_USER
|
||||
#
|
||||
# default user ownership of RPM content
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : root
|
||||
#
|
||||
# Value should be user name and not UID.
|
||||
# Note that <compName> must be in upper-case.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_DEFAULT_GROUP
|
||||
# CPACK_RPM_<compName>_DEFAULT_GROUP
|
||||
#
|
||||
# default group ownership of RPM content
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : root
|
||||
#
|
||||
# Value should be group name and not GID.
|
||||
# Note that <compName> must be in upper-case.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_DEFAULT_FILE_PERMISSIONS
|
||||
# CPACK_RPM_<compName>_DEFAULT_FILE_PERMISSIONS
|
||||
#
|
||||
# default permissions used for packaged files
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : - (system default)
|
||||
#
|
||||
# Accepted values are lists with ``PERMISSIONS``. Valid permissions
|
||||
# are:
|
||||
#
|
||||
# - OWNER_READ
|
||||
# - OWNER_WRITE
|
||||
# - OWNER_EXECUTE
|
||||
# - GROUP_READ
|
||||
# - GROUP_WRITE
|
||||
# - GROUP_EXECUTE
|
||||
# - WORLD_READ
|
||||
# - WORLD_WRITE
|
||||
# - WORLD_EXECUTE
|
||||
#
|
||||
# Note that <compName> must be in upper-case.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_DEFAULT_DIR_PERMISSIONS
|
||||
# CPACK_RPM_<compName>_DEFAULT_DIR_PERMISSIONS
|
||||
#
|
||||
# default permissions used for packaged directories
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : - (system default)
|
||||
#
|
||||
# Accepted values are lists with PERMISSIONS. Valid permissions
|
||||
# are the same as for :variable:`CPACK_RPM_DEFAULT_FILE_PERMISSIONS`.
|
||||
# Note that <compName> must be in upper-case.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_INSTALL_WITH_EXEC
|
||||
#
|
||||
# force execute permissions on programs and shared libraries
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : - (system default)
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# Programs and shared libraries without execute permissions are ignored during
|
||||
# separation of debug symbols from the binary for debuginfo packages.
|
||||
#
|
||||
# Packaging of Symbolic Links
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# CPackRPM supports packaging of symbolic links::
|
||||
#
|
||||
# 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)
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# Symbolic links that point to locations outside packaging path produce a
|
||||
# warning and are treated as non relocatable permanent symbolic links.
|
||||
#
|
||||
# Currently there are a few limitations though:
|
||||
#
|
||||
# * 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.
|
||||
#
|
||||
# * 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.
|
||||
#
|
||||
# Packaging of debug information
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# Debuginfo packages contain debug symbols and sources for debugging packaged
|
||||
# binaries.
|
||||
#
|
||||
# Debuginfo RPM packaging has it's own set of variables:
|
||||
#
|
||||
# .. variable:: CPACK_RPM_DEBUGINFO_PACKAGE
|
||||
# CPACK_RPM_<component>_DEBUGINFO_PACKAGE
|
||||
#
|
||||
# Enable generation of debuginfo RPM package(s).
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : OFF
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# Binaries must contain debug symbols before packaging so use either ``Debug``
|
||||
# or ``RelWithDebInfo`` for :variable:`CMAKE_BUILD_TYPE` variable value.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# Packages generated from packages without binary files, with binary files but
|
||||
# without execute permissions or without debug symbols will cause packaging
|
||||
# termination.
|
||||
#
|
||||
# .. variable:: CPACK_BUILD_SOURCE_DIRS
|
||||
#
|
||||
# Provides locations of root directories of source files from which binaries
|
||||
# were built.
|
||||
#
|
||||
# * Mandatory : YES if :variable:`CPACK_RPM_DEBUGINFO_PACKAGE` is set
|
||||
# * Default : -
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# For CMake project :variable:`CPACK_BUILD_SOURCE_DIRS` is set by default to
|
||||
# point to :variable:`CMAKE_SOURCE_DIR` and :variable:`CMAKE_BINARY_DIR` paths.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# Sources with path prefixes that do not fall under any location provided with
|
||||
# :variable:`CPACK_BUILD_SOURCE_DIRS` will not be present in debuginfo package.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX
|
||||
# CPACK_RPM_<component>_BUILD_SOURCE_DIRS_PREFIX
|
||||
#
|
||||
# Prefix of location where sources will be placed during package installation.
|
||||
#
|
||||
# * Mandatory : YES if :variable:`CPACK_RPM_DEBUGINFO_PACKAGE` is set
|
||||
# * Default : "/usr/src/debug/<CPACK_PACKAGE_FILE_NAME>" and
|
||||
# for component packaging "/usr/src/debug/<CPACK_PACKAGE_FILE_NAME>-<component>"
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# Each source path prefix is additionally suffixed by ``src_<index>`` where
|
||||
# index is index of the path used from :variable:`CPACK_BUILD_SOURCE_DIRS`
|
||||
# variable. This produces ``<CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX>/src_<index>``
|
||||
# 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
|
||||
# :variable:`CPACK_RPM_BUILD_SOURCE_DIRS_PREFIX` variable has to be set to
|
||||
# a shorter path or source directories must be placed on a longer path.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS
|
||||
#
|
||||
# Directories containing sources that should be excluded from debuginfo packages.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : "/usr /usr/src /usr/src/debug"
|
||||
#
|
||||
# Listed paths are owned by other RPM packages and should therefore not be
|
||||
# deleted on debuginfo package uninstallation.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS_ADDITION
|
||||
#
|
||||
# Paths that should be appended to :variable:`CPACK_RPM_DEBUGINFO_EXCLUDE_DIRS`
|
||||
# for exclusion.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# .. variable:: CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE
|
||||
#
|
||||
# Create a single debuginfo package even if components packaging is set.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : OFF
|
||||
#
|
||||
# When this variable is enabled it produces a single debuginfo package even if
|
||||
# component packaging is enabled.
|
||||
#
|
||||
# When using this feature in combination with components packaging and there is
|
||||
# more than one component this variable requires :variable:`CPACK_RPM_MAIN_COMPONENT`
|
||||
# to be set.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# If none of the :variable:`CPACK_RPM_<component>_DEBUGINFO_PACKAGE` variables
|
||||
# is set then :variable:`CPACK_RPM_DEBUGINFO_PACKAGE` is automatically set to
|
||||
# ``ON`` when :variable:`CPACK_RPM_DEBUGINFO_SINGLE_PACKAGE` is set.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_DEBUGINFO_FILE_NAME
|
||||
# CPACK_RPM_<component>_DEBUGINFO_FILE_NAME
|
||||
#
|
||||
# Debuginfo package file name.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : rpmbuild tool generated package file name
|
||||
#
|
||||
# Alternatively provided debuginfo package file name must end with ``.rpm``
|
||||
# suffix and should differ from file names of other generated packages.
|
||||
#
|
||||
# Variable may contain ``@cpack_component@`` placeholder which will be
|
||||
# replaced by component name if component packaging is enabled otherwise it
|
||||
# deletes the placeholder.
|
||||
#
|
||||
# Setting the variable to ``RPM-DEFAULT`` may be used to explicitly set
|
||||
# filename generation to default.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# :variable:`CPACK_RPM_FILE_NAME` also supports rpmbuild tool generated package
|
||||
# file name - disabled by default but can be enabled by setting the variable to
|
||||
# ``RPM-DEFAULT``.
|
||||
#
|
||||
# Packaging of sources (SRPM)
|
||||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
#
|
||||
# SRPM packaging is enabled by setting :variable:`CPACK_RPM_PACKAGE_SOURCES`
|
||||
# variable while usually using :variable:`CPACK_INSTALLED_DIRECTORIES` variable
|
||||
# to provide directory containing CMakeLists.txt and source files.
|
||||
#
|
||||
# For CMake projects SRPM package would be produced by executing::
|
||||
#
|
||||
# cpack -G RPM --config ./CPackSourceConfig.cmake
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# Produced SRPM package is expected to be built with :manual:`cmake(1)` executable
|
||||
# and packaged with :manual:`cpack(1)` executable so CMakeLists.txt has to be
|
||||
# located in root source directory and must be able to generate binary rpm
|
||||
# packages by executing ``cpack -G`` command. The two executables as well as
|
||||
# rpmbuild must also be present when generating binary rpm packages from the
|
||||
# produced SRPM package.
|
||||
#
|
||||
# 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::
|
||||
#
|
||||
# mkdir -p build_dir/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}
|
||||
# rpmbuild --define "_topdir <path_to_build_dir>" --rebuild <SRPM_file_name>
|
||||
#
|
||||
# Generated packages will be located in build_dir/RPMS directory or its sub
|
||||
# directories.
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# Source RPM packaging has it's own set of variables:
|
||||
#
|
||||
# .. variable:: CPACK_RPM_PACKAGE_SOURCES
|
||||
#
|
||||
# Should the content be packaged as a source rpm (default is binary rpm).
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : OFF
|
||||
#
|
||||
# .. note::
|
||||
#
|
||||
# For cmake projects :variable:`CPACK_RPM_PACKAGE_SOURCES` variable is set
|
||||
# to ``OFF`` in CPackConfig.cmake and ``ON`` in CPackSourceConfig.cmake
|
||||
# generated files.
|
||||
#
|
||||
# .. variable:: CPACK_RPM_SOURCE_PKG_BUILD_PARAMS
|
||||
#
|
||||
# Additional command-line parameters provided to :manual:`cmake(1)` executable.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# .. variable:: CPACK_RPM_SOURCE_PKG_PACKAGING_INSTALL_PREFIX
|
||||
#
|
||||
# Packaging install prefix that would be provided in :variable:`CPACK_PACKAGING_INSTALL_PREFIX`
|
||||
# variable for producing binary RPM packages.
|
||||
#
|
||||
# * Mandatory : YES
|
||||
# * Default : "/"
|
||||
#
|
||||
# .. VARIABLE:: CPACK_RPM_BUILDREQUIRES
|
||||
#
|
||||
# List of source rpm build dependencies.
|
||||
#
|
||||
# * Mandatory : NO
|
||||
# * Default : -
|
||||
#
|
||||
# May be used to set source RPM build dependencies (BuildRequires). Note that
|
||||
# you must enclose the complete build requirements string between quotes, for
|
||||
# example::
|
||||
#
|
||||
# set(CPACK_RPM_BUILDREQUIRES "python >= 2.5.0, cmake >= 2.8")
|
||||
|
||||
# Author: Eric Noulard with the help of Alexander Neundorf.
|
||||
|
||||
function(get_file_permissions FILE RETURN_VAR)
|
||||
@@ -0,0 +1,20 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file Copyright.txt or https://cmake.org/licensing for details.
|
||||
|
||||
if(NOT CPACK_WIX_ROOT)
|
||||
string(REPLACE "\\" "/" CPACK_WIX_ROOT "$ENV{WIX}")
|
||||
endif()
|
||||
|
||||
find_program(CPACK_WIX_CANDLE_EXECUTABLE candle
|
||||
PATHS "${CPACK_WIX_ROOT}" PATH_SUFFIXES "bin")
|
||||
|
||||
if(NOT CPACK_WIX_CANDLE_EXECUTABLE)
|
||||
message(FATAL_ERROR "Could not find the WiX candle executable.")
|
||||
endif()
|
||||
|
||||
find_program(CPACK_WIX_LIGHT_EXECUTABLE light
|
||||
PATHS "${CPACK_WIX_ROOT}" PATH_SUFFIXES "bin")
|
||||
|
||||
if(NOT CPACK_WIX_LIGHT_EXECUTABLE)
|
||||
message(FATAL_ERROR "Could not find the WiX light executable.")
|
||||
endif()
|
||||
@@ -28,4 +28,3 @@ if(NOT ZIP_EXECUTABLE)
|
||||
set(CPACK_ZIP_NEED_QUOTES FALSE)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -148,7 +148,7 @@ int cmCPackWIXGenerator::PackageFiles()
|
||||
|
||||
bool cmCPackWIXGenerator::InitializeWiXConfiguration()
|
||||
{
|
||||
if (!ReadListFile("CPackWIX.cmake")) {
|
||||
if (!ReadListFile("Internal/CPack/CPackWIX.cmake")) {
|
||||
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
||||
"Error while executing CPackWIX.cmake" << std::endl);
|
||||
return false;
|
||||
|
||||
@@ -61,7 +61,7 @@ int cmCPackDebGenerator::PackageOnePack(std::string const& initialTopLevel,
|
||||
component_path += packageName;
|
||||
this->SetOption("CPACK_DEB_PACKAGE_COMPONENT_PART_PATH",
|
||||
component_path.c_str());
|
||||
if (!this->ReadListFile("CPackDeb.cmake")) {
|
||||
if (!this->ReadListFile("Internal/CPack/CPackDeb.cmake")) {
|
||||
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
||||
"Error while execution CPackDeb.cmake" << std::endl);
|
||||
retval = 0;
|
||||
@@ -179,7 +179,7 @@ int cmCPackDebGenerator::PackageComponentsAllInOne(
|
||||
this->SetOption("CPACK_DEB_PACKAGE_COMPONENT_PART_PATH",
|
||||
component_path.c_str());
|
||||
}
|
||||
if (!this->ReadListFile("CPackDeb.cmake")) {
|
||||
if (!this->ReadListFile("Internal/CPack/CPackDeb.cmake")) {
|
||||
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
||||
"Error while execution CPackDeb.cmake" << std::endl);
|
||||
retval = 0;
|
||||
|
||||
@@ -298,7 +298,7 @@ static bool has_suffix(const std::string& str, const std::string& suffix)
|
||||
|
||||
int cmCPackFreeBSDGenerator::PackageFiles()
|
||||
{
|
||||
if (!this->ReadListFile("CPackFreeBSD.cmake")) {
|
||||
if (!this->ReadListFile("Internal/CPack/CPackFreeBSD.cmake")) {
|
||||
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
||||
"Error while execution CPackFreeBSD.cmake" << std::endl);
|
||||
return 0;
|
||||
|
||||
@@ -703,7 +703,7 @@ std::string cmCPackNSISGenerator::CreateComponentDescription(
|
||||
|
||||
// Find a ZIP program
|
||||
if (!this->IsSet("ZIP_EXECUTABLE")) {
|
||||
this->ReadListFile("CPackZIP.cmake");
|
||||
this->ReadListFile("Internal/CPack/CPackZIP.cmake");
|
||||
|
||||
if (!this->IsSet("ZIP_EXECUTABLE")) {
|
||||
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
||||
|
||||
@@ -49,7 +49,7 @@ int cmCPackNuGetGenerator::PackageFiles()
|
||||
this->SetOption("CPACK_NUGET_ORDINAL_MONOLITIC", "TRUE");
|
||||
}
|
||||
|
||||
auto retval = this->ReadListFile("CPackNuGet.cmake");
|
||||
auto retval = this->ReadListFile("Internal/CPack/CPackNuGet.cmake");
|
||||
if (retval) {
|
||||
AddGeneratedPackageNames();
|
||||
} else {
|
||||
|
||||
@@ -89,7 +89,7 @@ int cmCPackRPMGenerator::PackageOnePack(std::string const& initialToplevel,
|
||||
component_path += packageName;
|
||||
this->SetOption("CPACK_RPM_PACKAGE_COMPONENT_PART_PATH",
|
||||
component_path.c_str());
|
||||
if (!this->ReadListFile("CPackRPM.cmake")) {
|
||||
if (!this->ReadListFile("Internal/CPack/CPackRPM.cmake")) {
|
||||
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
||||
"Error while execution CPackRPM.cmake" << std::endl);
|
||||
retval = 0;
|
||||
@@ -385,7 +385,7 @@ int cmCPackRPMGenerator::PackageComponentsAllInOne(
|
||||
component_path.c_str());
|
||||
}
|
||||
|
||||
if (this->ReadListFile("CPackRPM.cmake")) {
|
||||
if (this->ReadListFile("Internal/CPack/CPackRPM.cmake")) {
|
||||
AddGeneratedPackageNames();
|
||||
} else {
|
||||
cmCPackLogger(cmCPackLog::LOG_ERROR,
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ cmRST::cmRST(std::ostream& os, std::string const& docroot)
|
||||
, NoteDirective("^.. note::[ \t]*(.*)$")
|
||||
, ModuleRST("^#\\[(=*)\\[\\.rst:$")
|
||||
, CMakeRole("(:cmake)?:("
|
||||
"command|generator|variable|envvar|module|policy|"
|
||||
"command|cpack_gen|generator|variable|envvar|module|policy|"
|
||||
"prop_cache|prop_dir|prop_gbl|prop_inst|prop_sf|"
|
||||
"prop_test|prop_tgt|"
|
||||
"manual"
|
||||
|
||||
@@ -19,6 +19,7 @@ Variable ``VARIABLE_<PLACEHOLDER>`` with trailing placeholder and target.
|
||||
Environment variable ``SOME_ENV_VAR``.
|
||||
Environment variable ``some env var`` with space and target.
|
||||
Generator ``Some Generator`` with space.
|
||||
Generator ``Some Generator`` with space.
|
||||
Inline literal ``~!@#$%^&*( )_+-=\\[]{}'":;,<>.?/``.
|
||||
Inline link Link Text.
|
||||
Inline link Link Text <With \-escaped Brackets>.
|
||||
|
||||
@@ -26,6 +26,7 @@ Variable :variable:`VARIABLE_<PLACEHOLDER> <target>` with trailing placeholder a
|
||||
Environment variable :envvar:`SOME_ENV_VAR`.
|
||||
Environment variable :envvar:`some env var <SOME_ENV_VAR>` with space and target.
|
||||
Generator :generator:`Some Generator` with space.
|
||||
Generator :cpack_gen:`Some Generator` with space.
|
||||
Inline literal ``~!@#$%^&*( )_+-=\\[]{}'":;,<>.?/``.
|
||||
Inline link `Link Text <ExternalDest>`_.
|
||||
Inline link `Link Text \<With \\-escaped Brackets\> <ExternalDest>`_.
|
||||
|
||||
@@ -144,6 +144,7 @@ class _cmake_index_entry:
|
||||
|
||||
_cmake_index_objs = {
|
||||
'command': _cmake_index_entry('command'),
|
||||
'cpack_gen': _cmake_index_entry('cpack generator'),
|
||||
'envvar': _cmake_index_entry('envvar'),
|
||||
'generator': _cmake_index_entry('generator'),
|
||||
'manual': _cmake_index_entry('manual'),
|
||||
@@ -325,6 +326,7 @@ class CMakeDomain(Domain):
|
||||
label = 'CMake'
|
||||
object_types = {
|
||||
'command': ObjType('command', 'command'),
|
||||
'cpack_gen': ObjType('cpack_gen', 'cpack_gen'),
|
||||
'envvar': ObjType('envvar', 'envvar'),
|
||||
'generator': ObjType('generator', 'generator'),
|
||||
'variable': ObjType('variable', 'variable'),
|
||||
@@ -358,6 +360,7 @@ class CMakeDomain(Domain):
|
||||
}
|
||||
roles = {
|
||||
'command': CMakeXRefRole(fix_parens = True, lowercase = True),
|
||||
'cpack_gen': CMakeXRefRole(),
|
||||
'envvar': CMakeXRefRole(),
|
||||
'generator': CMakeXRefRole(),
|
||||
'variable': CMakeXRefRole(),
|
||||
|
||||
@@ -21,6 +21,7 @@ newlines = []
|
||||
for line in lines:
|
||||
|
||||
mapping = (("command", "command"),
|
||||
("cpack generator", "cpack_gen"),
|
||||
("envvar", "envvar"),
|
||||
("variable", "variable"),
|
||||
("generator", "generator"),
|
||||
|
||||
Reference in New Issue
Block a user