CMake:CPackConfiguration: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
(Important CPACK_INSTALLED_DIRECTORIES update, CPACK_INSTALL_SCRIPT)
Line 78: Line 78:
| CPACK_TOPLEVEL_TAG || Directory for the installed files. || Linux-i686
| CPACK_TOPLEVEL_TAG || Directory for the installed files. || Linux-i686
|-
|-
| CPACK_INSTALL_COMMANDS || Extra commands to install components. Executed in addition to ..._SCRIPT. ||
| 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 ..._COMMANDS. ||
| 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) ||
| 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_MONOLITHIC_INSTALL || When set disables the component-based installer. ||

Revision as of 15:36, 8 September 2011

The CPack behavior is controlled by the value of CPACK_XXXX variables. 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

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: CPackPackageGenerators

Basic settings

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_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

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_INSTALLED_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