CMake:CPackConfiguration: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
Line 1: Line 1:
The following variables can be set to adjust the behaviour of CPack:
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:


=Other source of informations=
  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:
If you seek CPack generators specific settings please go there:
[http://www.cmake.org/Wiki/CMake:CPackPackageGenerators CPackPackageGenerators]
[http://www.cmake.org/Wiki/CMake:CPackPackageGenerators CPackPackageGenerators]
Line 75: Line 81:
|-
|-
| CPACK_INSTALL_DIRECTORIES || Extra directories to install. ||
| CPACK_INSTALL_DIRECTORIES || Extra directories to install. ||
|-
| CPACK_MONOLITHIC_INSTALL || When set disables the component-based installer. ||
|}
|}

Revision as of 16:48, 31 January 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.
CPACK_INSTALL_DIRECTORIES Extra directories to install.
CPACK_MONOLITHIC_INSTALL When set disables the component-based installer.