Difference between revisions of "CMake:CPackConfiguration"

From KitwarePublic
Jump to navigationJump to search
(Replace content with link to new CMake community wiki)
 
(2 intermediate revisions by one other user not shown)
Line 1: Line 1:
The CPack behavior is controlled by the value of ''CPACK_XXXX'' variables.
{{CMake/Template/Moved}}
The value of thoses variables should usually be set inside ''CMakeLists.txt'' '''before''' the inclusion
''INCLUDE(CPack)''.
Some variables may be set/overriden on the command line when invoking CPack, like in:


  cpack -D CPACK_MONOLITHIC_INSTALL=1 -G NSIS
This page has moved [https://gitlab.kitware.com/cmake/community/wikis/doc/cpack/Configuration here].
 
The variables described hereafter are the '''generic''' ones used to adjust the behaviour of
any CPack generator. However, some CPack generator have extra specific variables (CPACK_<GENERATOR-NAME>_XXXX) that may be used too control their specific features.
If you seek CPack generators specific settings please go there:
[http://www.cmake.org/Wiki/CMake:CPackPackageGenerators CPackPackageGenerators]
 
=Basic settings=
 
{|
|- bgcolor="#abcdef"
! Variable Name || Description || Example
|-
| CPACK_GENERATOR || CPack generator to be used || STGZ;TGZ;TZ
|-
| CPACK_INCLUDE_TOPLEVEL_DIRECTORY || Controls whether CPack adds a top-level directory, usually of the form ProjectName-Version-OS, to the top of package tree. || 0 to disable, 1 to enable
|-
| CPACK_INSTALL_CMAKE_PROJECTS || List of four values: Build directory, Project Name, Project Component, Directory in the package || /home/andy/vtk/CMake-bin;CMake;ALL;/
|-
| CPACK_PACKAGE_DESCRIPTION_FILE || File used as a description of a project || /path/to/project/ReadMe.txt
|-
| CPACK_PACKAGE_DESCRIPTION_SUMMARY || Description summary of a project || CMake is a build tool
|-
| CPACK_PACKAGE_EXECUTABLES || List of pairs of executables and labels. Used by the NSIS generator to create Start Menu shortcuts. || ccmake;CMake
|-
| CPACK_PACKAGE_FILE_NAME || Package file name without extension. Also a directory of installer || cmake-2.5.0-Linux-i686
|-
| CPACK_PACKAGE_INSTALL_DIRECTORY || Installation directory on the target system || CMake 2.5
|-
| CPACK_PACKAGE_INSTALL_REGISTRY_KEY || Registry key used when installing this project || CMake 2.5.0
|-
| CPACK_PACKAGE_NAME || Package name, defaults to the project name. || CMake
|-
| CPACK_PACKAGE_VENDOR || Package vendor name || Kitware
|-
| CPACK_PACKAGE_CONTACT || Default contact for generators that require maintainer contact || cmake@cmake.org
|-
| CPACK_PACKAGE_VERSION_MAJOR || Package Major Version || 2
|-
| CPACK_PACKAGE_VERSION_MINOR || Package Minor Version || 5
|-
| CPACK_PACKAGE_VERSION_PATCH || Package Patch Version || 0
|-
| CPACK_PROJECT_CONFIG_FILE || File included at cpack time, once per generator after setting CPACK_GENERATOR to the actual generator being used; allows per-generator setting of CPACK_* variables at cpack time. || ${PROJECT_BINARY_DIR}/CPackOptions.cmake
|-
| CPACK_SOURCE_GENERATOR || List of generators used for the source package || TGZ;TZ
|-
| CPACK_SOURCE_IGNORE_FILES || Pattern of files in the source tree that won't be packaged ||  /CVS/;/\\.svn/;\\.swp$;\\.#;/#;.*~;cscope.*
|-
| CPACK_SOURCE_PACKAGE_FILE_NAME || Name of the source package || cmake-2.5.0
|-
| CPACK_SOURCE_STRIP_FILES || List of files in the source tree that will be stripped. Starting with CMake 2.6.0 CPACK_SOURCE_STRIP_FILES will be a boolean variable which enables stripping of all files (a list of files evaluates to TRUE in CMake, so this change is compatible). ||
|-
| CPACK_STRIP_FILES || List of files to be stripped. Starting with CMake 2.6.0 CPACK_STRIP_FILES will be a boolean variable which enables stripping of all files (a list of files evaluates to TRUE in CMake, so this change is compatible). || bin/ccmake;bin/cmake;bin/cpack;bin/ctest
|-
| CPACK_SYSTEM_NAME || System name, defaults to the value of ${CMAKE_SYSTEM_NAME}. || Linux-i686
|}
 
=Advanced settings=
 
{|
|- bgcolor="#abcdef"
! Variable Name || Description || Example
|-
| CPACK_CMAKE_GENERATOR || What CMake generator should be used if the project is CMake project. Defaults to the value of CMAKE_GENERATOR. || Unix Makefiles
|-
| CPACK_RESOURCE_FILE_LICENSE || License file for the project, used by the STGZ, NSIS, and PackageMaker generators. || /home/andy/vtk/CMake/Copyright.txt
|-
| CPACK_RESOURCE_FILE_README || ReadMe file for the project, used by PackageMaker generator. || /home/andy/vtk/CMake/Templates/CPack.GenericDescription.txt
|-
| CPACK_RESOURCE_FILE_WELCOME || Welcome file for the project, used by PackageMaker generator. || /home/andy/vtk/CMake/Templates/CPack.GenericWelcome.txt
|-
| CPACK_PACKAGE_VERSION || Package full version, used internally. || 2.5.0
|-
| CPACK_TOPLEVEL_TAG || Directory for the installed files. || Linux-i686
|-
| CPACK_INSTALL_COMMANDS || Extra commands to install components. Executed in addition to ..._SCRIPT and CPACK_INSTALLED_DIRECTORIES. ||
|-
| CPACK_INSTALL_SCRIPT || Extra script to install components. Executed in addition to related variables. ||
|-
| CPACK_INSTALLED_DIRECTORIES || Extra directories to install. Note that spelling is CPACK_INSTALL'''ED'''_DIRECTORIES (wrong docs in CPack.cmake). Executed in addition to related variables. ||
|-
| CPACK_MONOLITHIC_INSTALL || When set disables the component-based installer. ||
|-
| CPACK_PACKAGING_INSTALL_PREFIX || Sets the default root that the generated package installs into, '/usr' is the default for the debian and redhat generators || /usr/local
|-
| CPACK_OUTPUT_FILE_PREFIX || Available in ''CMake >= 2.8.3'' only (for older versions a ''find . -maxdepth 1 -type f -ctime....'' might prove useful to gather the set of packages to be moved away). Can be used to specify the destination output prefix directory that the final package will be stored in. Since CPack will combine this argument with a trailing slash, it unfortunately cannot be used to specify a filename-only prefix part. || /tmp/my_cpack_generated_packages
|}
 
{{CMake/Template/Footer}}

Latest revision as of 15:40, 30 April 2018


The CMake community Wiki has moved to the Kitware GitLab Instance.

This page has moved here.