CMake:CPackConfiguration

From KitwarePublic
Jump to navigationJump to search

The following variables can be set to adjust the behaviour of CPack:

Other source of informations

Another set of wiki pages contains informations about specific CPack generators 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_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.

Debian settings

Variable Name Description Example
CPACK_DEBIAN_PACKAGE_MAINTAINER The maintenainer informations Firstname Lastname <email@example.com>
CPACK_PACKAGE_DESCRIPTION_SUMMARY Package short description Here is my short description
CPACK_PACKAGE_DESCRIPTION Package description Here is my long description
CPACK_DEBIAN_PACKAGE_DEPENDS Package dependencies (use dpkg -s <packagename> to retrieve version) libc6 (>= 2.7-18)
CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA This variable allow advanced user to add custom script to the control.tar.gz (inside the .deb archive) ${CMAKE_CURRENT_SOURCE_DIR}/postinst
CPACK_DEBIAN_PACKAGE_SECTION Package section (see http://packages.debian.org/stable/) Network
CPACK_DEBIAN_PACKAGE_VERSION Package version ${CPACK_PACKAGE_VERSION}+lenny1

Nullsoft Install System (NSIS) settings

Variable Name Description Example
CPACK_NSIS_MUI_ICON The icon file (.ico) for the generated install program. installer.ico
CPACK_NSIS_MUI_UNIICON The icon file (.ico) for the generated uninstall program. installer.ico
CPACK_PACKAGE_ICON A branding image that will be displayed inside the installer. installer.bmp
CPACK_NSIS_EXTRA_INSTALL_COMMANDS Extra NSIS commands that will be added to the install Section. ExecWait '\\\"$INSTDIR\\\\vcredist_x86.exe\\\" /q:a'
CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS Extra NSIS commands that will be added to the uninstall Section.
CPACK_NSIS_COMPRESSOR The arguments that will be passed to the NSIS SetCompressor command. /SOLID lzma
CPACK_NSIS_MODIFY_PATH If this is set to "ON", then an extra page will appear in the installer that will allow the user to choose whether the program directory should be added to the system PATH variable. ON
CPACK_NSIS_DISPLAY_NAME Undocumented. "${CPACK_PACKAGE_INSTALL_DIRECTORY} My Famous Project"
CPACK_NSIS_INSTALLED_ICON_NAME Set the icon used for the Windows "Add or Remove Programs" tool. "bin\\\\MyExecutable.exe"
CPACK_NSIS_HELP_LINK Undocumented. URI. "http:\\\\\\\\www.my-project-home-page.org"
CPACK_NSIS_URL_INFO_ABOUT Undocumented. URI. "http:\\\\\\\\www.my-personal-home-page.com"
CPACK_NSIS_CONTACT Undocumented. Possibly: The email address of a person to contact. "me@my-personal-home-page.com"
CPACK_NSIS_CREATE_ICONS_EXTRA Additional NSIS commands for creating start menu shortcuts. set(CPACK_NSIS_CREATE_ICONS "CreateShortCut '\$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\${PROJECT_NAME}.lnk' '\$INSTDIR\\\\${PROJECT_NAME}.exe'")
CPACK_NSIS_DELETE_ICONS_EXTRA Undocumented. Possibly: Additional NSIS commands to uninstall start menu shortcuts.
CPACK_NSIS_MENU_LINKS Undocumented. "doc/cmake-@CMake_VERSION_MAJOR@.@CMake_VERSION_MINOR@/CMakeSetup.html" "CMakeSetup Help"