# cpack(1)

## Synopsis

    cpack -G <generator> [<options>]

## Description

The “cpack” executable is the CMake packaging program. CMake-generated build trees created for projects that use the INSTALL_* commands have packaging support. This program will generate the package.

CMake is a cross-platform build system generator. Projects specify their build process with platform-independent CMake listfiles included in each directory of a source tree with the name CMakeLists.txt. Users build a project by using CMake to generate a build system for a native tool on their platform.

## Options

`-G <generator>`

  Use the specified generator to generate package.

  CPack may support multiple native packaging systems on certain platforms. A generator is responsible for generating input files for particular system and invoking that systems. Possible generator names are specified in the Generators section.

`-C <Configuration>`

  Specify the project configuration

  This option specifies the configuration that the project was build with, for example ‘Debug’, ‘Release’.

`-D <var>=<value>`

  Set a CPack variable.

  Set a variable that can be used by the generator.

`--config <config file>`

  Specify the config file.

  Specify the config file to use to create the package. By default CPackConfig.cmake in the current directory will be used.

`--verbose,-V`

  enable verbose output

  Run cpack with verbose output.

`--debug`

  enable debug output (for CPack developers)

  Run cpack with debug output (for CPack developers).

`--trace`
  Put underlying cmake scripts in trace mode.
`--trace-expand`
  Put underlying cmake scripts in expanded trace mode.
`-P <package name>`

  override/define CPACK_PACKAGE_NAME

  If the package name is not specified on cpack command line thenCPack.cmake defines it as CMAKE_PROJECT_NAME

`-R <package version>`

  override/define CPACK_PACKAGE_VERSION

  If version is not specified on cpack command line thenCPack.cmake defines it from CPACK_PACKAGE_VERSION_[MAJOR|MINOR|PATCH]look into CPack.cmake for detail

`-B <package directory>`

  override/define CPACK_PACKAGE_DIRECTORY

  The directory where CPack will be doing its packaging work.The resulting package will be found there. Inside this directoryCPack creates ‘_CPack_Packages’ sub-directory which is theCPack temporary directory.

`--vendor <vendor name>`

  override/define CPACK_PACKAGE_VENDOR

  If vendor is not specified on cpack command line (or inside CMakeLists.txt) thenCPack.cmake defines it with a default value

`--help,-help,-usage,-h,-H,/?`

  Print usage information and exit.

  Usage describes the basic command line interface and its options.

`--version,-version,/V [<f>]`

  Show program name/version banner and exit.

  If a file is specified, the version is written into it. The help is printed to a named <f>ile if given.

`--help-full [<f>]`

  Print all help manuals and exit.

  All manuals are printed in a human-readable text format. The help is printed to a named <f>ile if given.

`--help-manual <man> [<f>]`

  Print one help manual and exit.

  The specified manual is printed in a human-readable text format. The help is printed to a named <f>ile if given.

`--help-manual-list [<f>]`

  List help manuals available and exit.

  The list contains all manuals for which help may be obtained by using the `--help-manual` option followed by a manual name. The help is printed to a named <f>ile if given.

`--help-command <cmd> [<f>]`

  Print help for one command and exit.

  The `cmake-commands(7)` manual entry for `<cmd>` is printed in a human-readable text format. The help is printed to a named <f>ile if given.

`--help-command-list [<f>]`

  List commands with help available and exit.

  The list contains all commands for which help may be obtained by using the `--help-command` option followed by a command name. The help is printed to a named <f>ile if given.

`--help-commands [<f>]`

  Print cmake-commands manual and exit.

  The `cmake-commands(7)` manual is printed in a human-readable text format. The help is printed to a named <f>ile if given.

`--help-module <mod> [<f>]`

  Print help for one module and exit.

  The `cmake-modules(7)` manual entry for `<mod>` is printed in a human-readable text format. The help is printed to a named <f>ile if given.

`--help-module-list [<f>]`

  List modules with help available and exit.

  The list contains all modules for which help may be obtained by using the `--help-module` option followed by a module name. The help is printed to a named <f>ile if given.

`--help-modules [<f>]`

  Print cmake-modules manual and exit.

  The `cmake-modules(7)` manual is printed in a human-readable text format. The help is printed to a named <f>ile if given.

`--help-policy <cmp> [<f>]`

  Print help for one policy and exit.

  The `cmake-policies(7)` manual entry for `<cmp>` is printed in a human-readable text format. The help is printed to a named <f>ile if given.

`--help-policy-list [<f>]`

  List policies with help available and exit.

  The list contains all policies for which help may be obtained by using the `--help-policy` option followed by a policy name. The help is printed to a named <f>ile if given.

`--help-policies [<f>]`

  Print cmake-policies manual and exit.

  The `cmake-policies(7)` manual is printed in a human-readable text format. The help is printed to a named <f>ile if given.

`--help-property <prop> [<f>]`

  Print help for one property and exit.

  The `cmake-properties(7)` manual entries for `<prop>` are printed in a human-readable text format. The help is printed to a named <f>ile if given.

`--help-property-list [<f>]`

  List properties with help available and exit.

  The list contains all properties for which help may be obtained by using the `--help-property` option followed by a property name. The help is printed to a named <f>ile if given.

`--help-properties [<f>]`

  Print cmake-properties manual and exit.

  The `cmake-properties(7)` manual is printed in a human-readable text format. The help is printed to a named <f>ile if given.

`--help-variable <var> [<f>]`

  Print help for one variable and exit.

  The `cmake-variables(7)` manual entry for `<var>` is printed in a human-readable text format. The help is printed to a named <f>ile if given.

`--help-variable-list [<f>]`

  List variables with help available and exit.

  The list contains all variables for which help may be obtained by using the `--help-variable` option followed by a variable name. The help is printed to a named <f>ile if given.

`--help-variables [<f>]`

  Print cmake-variables manual and exit.

  The `cmake-variables(7)` manual is printed in a human-readable text format. The help is printed to a named <f>ile if given.

## See Also

The following resources are available to get help using CMake:

Home Page

  https://cmake.org

  The primary starting point for learning about CMake.

Frequently Asked Questions

  https://cmake.org/Wiki/CMake_FAQ

  A Wiki is provided containing answers to frequently asked questions.

Online Documentation

  https://cmake.org/documentation

  Links to available documentation may be found on this web page.

Mailing List

  https://cmake.org/mailing-lists

  For help and discussion about using cmake, a mailing list is provided at cmake@cmake.org. The list is member-post-only but one may sign up on the CMake web page. Please first read the full documentation at https://cmake.org before posting questions to the list.