|
|
|
.. cmake-manual-description: CPack Command-Line Reference
|
|
|
|
|
|
|
|
cpack(1)
|
|
|
|
********
|
|
|
|
|
|
|
|
Synopsis
|
|
|
|
========
|
|
|
|
|
|
|
|
.. parsed-literal::
|
|
|
|
|
|
|
|
cpack [<options>]
|
|
|
|
|
|
|
|
Description
|
|
|
|
===========
|
|
|
|
|
|
|
|
The **cpack** executable is the CMake packaging program. It generates
|
|
|
|
installers and source packages in a variety of formats.
|
|
|
|
|
|
|
|
For each installer or package format, **cpack** has a specific backend,
|
|
|
|
called "generator". A generator is responsible for generating the required
|
|
|
|
inputs and invoking the specific package creation tools. These installer
|
|
|
|
or package generators are not to be confused with the makefile generators
|
|
|
|
of the :manual:`cmake <cmake(1)>` command.
|
|
|
|
|
|
|
|
All supported generators are specified in the :manual:`cpack-generators
|
|
|
|
<cpack-generators(7)>` manual. The command ``cpack --help`` prints a
|
|
|
|
list of generators supported for the target platform. Which of them are
|
|
|
|
to be used can be selected through the :variable:`CPACK_GENERATOR` variable
|
|
|
|
or through the command-line option ``-G``.
|
|
|
|
|
|
|
|
The **cpack** program is steered by a configuration file written in the
|
|
|
|
:manual:`CMake language <cmake-language(7)>`. Unless chosen differently
|
|
|
|
through the command-line option ``--config``, the file ``CPackConfig.cmake``
|
|
|
|
in the current directory is used.
|
|
|
|
|
|
|
|
In the standard CMake workflow, the file ``CPackConfig.cmake`` is generated
|
|
|
|
by the :manual:`cmake <cmake(1)>` executable, provided the :module:`CPack`
|
|
|
|
module is included by the project's ``CMakeLists.txt`` file.
|
|
|
|
|
|
|
|
Options
|
|
|
|
=======
|
|
|
|
|
|
|
|
``-G <generators>``
|
|
|
|
``<generators>`` is a :ref:`semicolon-separated list <CMake Language Lists>`
|
|
|
|
of generator names. ``cpack`` will iterate through this list and produce
|
|
|
|
package(s) in that generator's format according to the details provided in
|
|
|
|
the ``CPackConfig.cmake`` configuration file. If this option is not given,
|
|
|
|
the :variable:`CPACK_GENERATOR` variable determines the default set of
|
|
|
|
generators that will be used.
|
|
|
|
|
|
|
|
``-C <configs>``
|
|
|
|
Specify the project configuration(s) to be packaged (e.g. ``Debug``,
|
|
|
|
``Release``, etc.), where ``<configs>`` is a
|
|
|
|
:ref:`semicolon-separated list <CMake Language Lists>`.
|
|
|
|
When the CMake project uses a multi-configuration
|
|
|
|
generator such as Xcode or Visual Studio, this option is needed to tell
|
|
|
|
``cpack`` which built executables to include in the package.
|
|
|
|
The user is responsible for ensuring that the configuration(s) listed
|
|
|
|
have already been built before invoking ``cpack``.
|
|
|
|
|
|
|
|
``-D <var>=<value>``
|
|
|
|
Set a CPack variable. This will override any value set for ``<var>`` in the
|
|
|
|
input file read by ``cpack``.
|
|
|
|
|
|
|
|
``--config <configFile>``
|
|
|
|
Specify the configuration file read by ``cpack`` to provide the packaging
|
|
|
|
details. By default, ``CPackConfig.cmake`` in the current directory will
|
|
|
|
be used.
|
|
|
|
|
|
|
|
``--verbose, -V``
|
|
|
|
Run ``cpack`` with verbose output. This can be used to show more details
|
|
|
|
from the package generation tools and is suitable for project developers.
|
|
|
|
|
|
|
|
``--debug``
|
|
|
|
Run ``cpack`` with debug output. This option is intended mainly for the
|
|
|
|
developers of ``cpack`` itself and is not normally needed by project
|
|
|
|
developers.
|
|
|
|
|
|
|
|
``--trace``
|
|
|
|
Put the underlying cmake scripts in trace mode.
|
|
|
|
|
|
|
|
``--trace-expand``
|
|
|
|
Put the underlying cmake scripts in expanded trace mode.
|
|
|
|
|
|
|
|
``-P <packageName>``
|
|
|
|
Override/define the value of the :variable:`CPACK_PACKAGE_NAME` variable used
|
|
|
|
for packaging. Any value set for this variable in the ``CPackConfig.cmake``
|
|
|
|
file will then be ignored.
|
|
|
|
|
|
|
|
``-R <packageVersion>``
|
|
|
|
Override/define the value of the :variable:`CPACK_PACKAGE_VERSION`
|
|
|
|
variable used for packaging. It will override a value set in the
|
|
|
|
``CPackConfig.cmake`` file or one automatically computed from
|
|
|
|
:variable:`CPACK_PACKAGE_VERSION_MAJOR`,
|
|
|
|
:variable:`CPACK_PACKAGE_VERSION_MINOR` and
|
|
|
|
:variable:`CPACK_PACKAGE_VERSION_PATCH`.
|
|
|
|
|
|
|
|
``-B <packageDirectory>``
|
|
|
|
Override/define :variable:`CPACK_PACKAGE_DIRECTORY`, which controls the
|
|
|
|
directory where CPack will perform its packaging work. The resultant
|
|
|
|
package(s) will be created at this location by default and a
|
|
|
|
``_CPack_Packages`` subdirectory will also be created below this directory to
|
|
|
|
use as a working area during package creation.
|
|
|
|
|
|
|
|
``--vendor <vendorName>``
|
|
|
|
Override/define :variable:`CPACK_PACKAGE_VENDOR`.
|
|
|
|
|
|
|
|
.. include:: OPTIONS_HELP.txt
|
|
|
|
|
|
|
|
See Also
|
|
|
|
========
|
|
|
|
|
|
|
|
.. include:: LINKS.txt
|