| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339 |
- CPack IFW Generator
- -------------------
- See :module:`CPackIFW` for details on the CPackIFW module.
- .. _QtIFW: http://doc.qt.io/qtinstallerframework/index.html
- Overview
- ^^^^^^^^
- CPack ``IFW`` generator helps you to create online and offline
- binary cross-platform installers with a graphical user interface.
- CPack IFW generator prepares project installation and generates configuration
- and meta information for QtIFW_ tools.
- The QtIFW_ provides a set of tools and utilities to create
- installers for the supported desktop Qt platforms: Linux, Microsoft Windows,
- and macOS.
- You should also install QtIFW_ to use CPack ``IFW`` generator.
- Hints
- ^^^^^
- Generally, the CPack ``IFW`` generator automatically finds QtIFW_ tools,
- but if you don't use a default path for installation of the QtIFW_ tools,
- the path may be specified in either a CMake or an environment variable:
- .. variable:: CPACK_IFW_ROOT
- An CMake variable which specifies the location of the QtIFW_ tool suite.
- The variable will be cached in the ``CPackConfig.cmake`` file and used at
- CPack runtime.
- .. variable:: QTIFWDIR
- An environment variable which specifies the location of the QtIFW_ tool
- suite.
- .. note::
- The specified path should not contain "bin" at the end
- (for example: "D:\\DevTools\\QtIFW2.0.5").
- The :variable:`CPACK_IFW_ROOT` variable has a higher priority and overrides
- the value of the :variable:`QTIFWDIR` variable.
- Internationalization
- ^^^^^^^^^^^^^^^^^^^^
- Some variables and command arguments support internationalization via
- CMake script. This is an optional feature.
- Installers created by QtIFW_ tools have built-in support for
- internationalization and many phrases are localized to many languages,
- but this does not apply to the description of the your components and groups
- that will be distributed.
- Localization of the description of your components and groups is useful for
- users of your installers.
- A localized variable or argument can contain a single default value, and a
- set of pairs the name of the locale and the localized value.
- For example:
- .. code-block:: cmake
- set(LOCALIZABLE_VARIABLE "Default value"
- en "English value"
- en_US "American value"
- en_GB "Great Britain value"
- )
- Variables
- ^^^^^^^^^
- You can use the following variables to change behavior of CPack ``IFW``
- generator.
- Debug
- """""
- .. variable:: CPACK_IFW_VERBOSE
- Set to ``ON`` to enable addition debug output.
- By default is ``OFF``.
- Package
- """""""
- .. variable:: CPACK_IFW_PACKAGE_TITLE
- Name of the installer as displayed on the title bar.
- By default used :variable:`CPACK_PACKAGE_DESCRIPTION_SUMMARY`.
- .. variable:: CPACK_IFW_PACKAGE_PUBLISHER
- Publisher of the software (as shown in the Windows Control Panel).
- By default used :variable:`CPACK_PACKAGE_VENDOR`.
- .. variable:: CPACK_IFW_PRODUCT_URL
- URL to a page that contains product information on your web site.
- .. variable:: CPACK_IFW_PACKAGE_ICON
- Filename for a custom installer icon. The actual file is '.icns' (macOS),
- '.ico' (Windows). No functionality on Unix.
- .. variable:: CPACK_IFW_PACKAGE_WINDOW_ICON
- Filename for a custom window icon in PNG format for the Installer
- application.
- .. variable:: CPACK_IFW_PACKAGE_LOGO
- Filename for a logo is used as QWizard::LogoPixmap.
- .. variable:: CPACK_IFW_PACKAGE_WATERMARK
- Filename for a watermark is used as QWizard::WatermarkPixmap.
- .. variable:: CPACK_IFW_PACKAGE_BANNER
- Filename for a banner is used as QWizard::BannerPixmap.
- .. variable:: CPACK_IFW_PACKAGE_BACKGROUND
- Filename for an image used as QWizard::BackgroundPixmap (only used by MacStyle).
- .. variable:: CPACK_IFW_PACKAGE_WIZARD_STYLE
- Wizard style to be used ("Modern", "Mac", "Aero" or "Classic").
- .. variable:: CPACK_IFW_PACKAGE_STYLE_SHEET
- Filename for a stylesheet.
- .. variable:: CPACK_IFW_PACKAGE_WIZARD_DEFAULT_WIDTH
- Default width of the wizard in pixels. Setting a banner image will override this.
- .. variable:: CPACK_IFW_PACKAGE_WIZARD_DEFAULT_HEIGHT
- Default height of the wizard in pixels. Setting a watermark image will override this.
- .. variable:: CPACK_IFW_PACKAGE_TITLE_COLOR
- Color of the titles and subtitles (takes an HTML color code, such as "#88FF33").
- .. variable:: CPACK_IFW_PACKAGE_START_MENU_DIRECTORY
- Name of the default program group for the product in the Windows Start menu.
- By default used :variable:`CPACK_IFW_PACKAGE_NAME`.
- .. variable:: CPACK_IFW_TARGET_DIRECTORY
- Default target directory for installation.
- By default used
- "@ApplicationsDir@/:variable:`CPACK_PACKAGE_INSTALL_DIRECTORY`"
- You can use predefined variables.
- .. variable:: CPACK_IFW_ADMIN_TARGET_DIRECTORY
- Default target directory for installation with administrator rights.
- You can use predefined variables.
- .. variable:: CPACK_IFW_PACKAGE_GROUP
- The group, which will be used to configure the root package
- .. variable:: CPACK_IFW_PACKAGE_NAME
- The root package name, which will be used if configuration group is not
- specified
- .. variable:: CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_NAME
- Filename of the generated maintenance tool.
- The platform-specific executable file extension is appended.
- By default used QtIFW_ defaults (``maintenancetool``).
- .. variable:: CPACK_IFW_PACKAGE_REMOVE_TARGET_DIR
- Set to ``OFF`` if the target directory should not be deleted when uninstalling.
- Is ``ON`` by default
- .. variable:: CPACK_IFW_PACKAGE_MAINTENANCE_TOOL_INI_FILE
- Filename for the configuration of the generated maintenance tool.
- By default used QtIFW_ defaults (``maintenancetool.ini``).
- .. variable:: CPACK_IFW_PACKAGE_ALLOW_NON_ASCII_CHARACTERS
- Set to ``ON`` if the installation path can contain non-ASCII characters.
- Is ``ON`` for QtIFW_ less 2.0 tools.
- .. variable:: CPACK_IFW_PACKAGE_ALLOW_SPACE_IN_PATH
- Set to ``OFF`` if the installation path cannot contain space characters.
- Is ``ON`` for QtIFW_ less 2.0 tools.
- .. variable:: CPACK_IFW_PACKAGE_CONTROL_SCRIPT
- Filename for a custom installer control script.
- .. variable:: CPACK_IFW_PACKAGE_RESOURCES
- List of additional resources ('.qrc' files) to include in the installer
- binary.
- You can use :command:`cpack_ifw_add_package_resources` command to resolve
- relative paths.
- .. variable:: CPACK_IFW_PACKAGE_FILE_EXTENSION
- The target binary extension.
- On Linux, the name of the target binary is automatically extended with
- '.run', if you do not specify the extension.
- On Windows, the target is created as an application with the extension
- '.exe', which is automatically added, if not supplied.
- On Mac, the target is created as an DMG disk image with the extension
- '.dmg', which is automatically added, if not supplied.
- .. variable:: CPACK_IFW_REPOSITORIES_ALL
- The list of remote repositories.
- The default value of this variable is computed by CPack and contains
- all repositories added with command :command:`cpack_ifw_add_repository`
- or updated with command :command:`cpack_ifw_update_repository`.
- .. variable:: CPACK_IFW_DOWNLOAD_ALL
- If this is ``ON`` all components will be downloaded.
- By default is ``OFF`` or used value
- from ``CPACK_DOWNLOAD_ALL`` if set
- Components
- """"""""""
- .. variable:: CPACK_IFW_RESOLVE_DUPLICATE_NAMES
- Resolve duplicate names when installing components with groups.
- .. variable:: CPACK_IFW_PACKAGES_DIRECTORIES
- Additional prepared packages dirs that will be used to resolve
- dependent components.
- .. variable:: CPACK_IFW_REPOSITORIES_DIRECTORIES
- Additional prepared repository dirs that will be used to resolve and
- repack dependent components. This feature available only
- since QtIFW_ 3.1.
- Tools
- """""
- .. variable:: CPACK_IFW_FRAMEWORK_VERSION
- The version of used QtIFW_ tools.
- .. variable:: CPACK_IFW_BINARYCREATOR_EXECUTABLE
- The path to "binarycreator" command line client.
- This variable is cached and may be configured if needed.
- .. variable:: CPACK_IFW_REPOGEN_EXECUTABLE
- The path to "repogen" command line client.
- This variable is cached and may be configured if needed.
- .. variable:: CPACK_IFW_INSTALLERBASE_EXECUTABLE
- The path to "installerbase" installer executable base.
- This variable is cached and may be configured if needed.
- .. variable:: CPACK_IFW_DEVTOOL_EXECUTABLE
- The path to "devtool" command line client.
- This variable is cached and may be configured if needed.
- Online installer
- ^^^^^^^^^^^^^^^^
- By default CPack IFW generator makes offline installer. This means that all
- components will be packaged into a binary file.
- To make a component downloaded, you must set the ``DOWNLOADED`` option in
- :command:`cpack_add_component`.
- Then you would use the command :command:`cpack_configure_downloads`.
- If you set ``ALL`` option all components will be downloaded.
- You also can use command :command:`cpack_ifw_add_repository` and
- variable :variable:`CPACK_IFW_DOWNLOAD_ALL` for more specific configuration.
- CPack IFW generator creates "repository" dir in current binary dir. You
- would copy content of this dir to specified ``site`` (``url``).
- See Also
- ^^^^^^^^
- Qt Installer Framework Manual:
- * Index page:
- http://doc.qt.io/qtinstallerframework/index.html
- * Component Scripting:
- http://doc.qt.io/qtinstallerframework/scripting.html
- * Predefined Variables:
- http://doc.qt.io/qtinstallerframework/scripting.html#predefined-variables
- * Promoting Updates:
- http://doc.qt.io/qtinstallerframework/ifw-updates.html
- Download Qt Installer Framework for you platform from Qt site:
- http://download.qt.io/official_releases/qt-installer-framework
|