CMake:CPackConfiguration
From KitwarePublic
Revision as of 16:05, 8 September 2011 by Andreas Mohr (talk | contribs) (Add sorely missing CPACK_OUTPUT_FILE_PREFIX)
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 |
CPACK_OUTPUT_FILE_PREFIX | Not available in CMake 2.6.4 (TODO first version?). 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 |