| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- Step 9: Packaging an Installer
- ==============================
- Next suppose that we want to distribute our project to other people so that
- they can use it. We want to provide both binary and source distributions on a
- variety of platforms. This is a little different from the install we did
- previously in :guide:`tutorial/Installing and Testing`, where we were
- installing the binaries that we had built from the source code. In this
- example we will be building installation packages that support binary
- installations and package management features. To accomplish this we will use
- CPack to create platform specific installers. Specifically we need to add a
- few lines to the bottom of our top-level ``CMakeLists.txt`` file.
- .. literalinclude:: Step10/CMakeLists.txt
- :caption: CMakeLists.txt
- :name: CMakeLists.txt-include-CPack
- :language: cmake
- :start-after: # setup installer
- That is all there is to it. We start by including
- :module:`InstallRequiredSystemLibraries`. This module will include any runtime
- libraries that are needed by the project for the current platform. Next we set
- some CPack variables to where we have stored the license and version
- information for this project. The version information was set earlier in this
- tutorial and the ``License.txt`` has been included in the top-level source
- directory for this step. The :variable:`CPACK_SOURCE_GENERATOR` variable
- selects a file format for the source package.
- Finally we include the :module:`CPack module <CPack>` which will use these
- variables and some other properties of the current system to setup an
- installer.
- The next step is to build the project in the usual manner and then run the
- :manual:`cpack <cpack(1)>` executable. To build a binary distribution, from the
- binary directory run:
- .. code-block:: console
- cpack
- To specify the generator, use the :option:`-G <cpack -G>` option. For multi-config builds,
- use :option:`-C <cpack -C>` to specify the configuration. For example:
- .. code-block:: console
- cpack -G ZIP -C Debug
- For a list of available generators, see :manual:`cpack-generators(7)` or call
- :option:`cpack --help`. An :cpack_gen:`archive generator <CPack Archive Generator>`
- like ZIP creates a compressed archive of all *installed* files.
- To create an archive of the *full* source tree you would type:
- .. code-block:: console
- cpack --config CPackSourceConfig.cmake
- Alternatively, run ``make package`` or right click the ``Package`` target and
- ``Build Project`` from an IDE.
- Run the installer found in the binary directory. Then run the installed
- executable and verify that it works.
|