[cmake-developers] [DISCUSSION] Using COMPONENTs for CMake install(...)?

Brad King brad.king at kitware.com
Fri Dec 5 14:33:41 EST 2014


On 12/04/2014 12:59 AM, Konstantin Podsvirov wrote:
> In the source tree, you can see some of the components.

The Debian packaging can serve as a good reference:

 cmake - cross-platform, open-source make system
 cmake-curses-gui - curses based user interface for CMake (ccmake)
 cmake-data - CMake data files (modules, templates and documentation)
 cmake-doc - extended documentation in various formats for CMake
 cmake-qt-gui - Qt4 based user interface for CMake (cmake-gui)

> For example:
> -- tools
>  - cmake
>  - cpack
>  - ctest

Yes.

> -- scripts
>  - modules
>  - templates

These are the Debian "cmake-data" package.

> -- documentation
>  - manual
>   * html version
>   * man pages

Debian packages the tool man pages with the tools due to their
policy of having documentation available for all commands.
Other manuals are in the separate cmake-doc package.  For
interactive installers I think we can keep all the docs in
their own packages separate from the tools since the doc
format could be made selectable.

The html and man pages could be placed in separate install
components too.

> -- according to
>  - Qt (only necessary)

Separate components for each of the "ccmake" and "cmake-gui"
interactive dialogs makes sense.

With the above guidance please go ahead and work on the patch
if you want.  All the install() calls will need to be updated
with the proper COMPONENT option(s).

> Also I suggest to add in CMakeLists.txt option to control the
> installation of dependencies with CMake.
> For example the Qt library. This happens on Windows and Mac,
> but I think it is not always necessary in Linux.

This is a separate task, so let's focus on the components first.

-Brad



More information about the cmake-developers mailing list