A message from CMake upstream: announcing dh-cmake
- Date: Tue, 03 Jul 2018 15:56:42 -0400
- From: Kyle Edwards <kyle.edwards@xxxxxxxxxxx>
- Subject: A message from CMake upstream: announcing dh-cmake
My name is Kyle. I work at Kitware, Inc., the upstream maintainer of
the CMake buildsystem (https://www.cmake.org/) and VTK, the
Visualization Toolkit (https://www.vtk.org/). As some of you on the
Debian Science list may have heard, we are making an effort to
officially support our flagship product, VTK, on Debian and its
derivatives. To that end, we have created a new set of Debhelper
utilities to meet the unique challenges of packaging a large CMake-
based project like VTK. We have named this project "dh-cmake". It
allows Debhelper to take advantage of some of the more advanced
capabilities of CMake. For example:
* CMake's install() command takes an optional COMPONENT parameter,
which allows you to break the installation up into multiple
"components", such as "Libraries" and "Development". dh-cmake allows
you to assign these components to separate binary packages, to avoid
having to enumerate every file or file glob in the *.install files.
* Projects that are CTest-aware can optionally have the output of
dh_auto_configure, dh_auto_build, and dh_auto_test captured by CTest
and submitted to a CDash server as part of a continuous integration
process. This is very useful for making sure a large software project
builds properly on Debian.
* CPack includes a mechanism to declare dependencies between
installation components, for example, stating that the "Development"
component depends on the "Libraries" component. dh-cmake can
propagate this information into the output packages, so that
libexample-dev will automatically depend on libexample.
You can download the source code at
https://gitlab.kitware.com/debian/dh-cmake, and read more details about
the rationale and how it works. You can also install the binaries from
our own APT repository. Follow the instructions at
https://apt.kitware.com/ to set up the repository, and then install the
Our end goal is to get both dh-cmake and VTK into Debian proper, but it
is still in an experimental state, and there is still a lot of work to
be done yet. We would like to get some feedback on dh-cmake, and we
will eventually file a formal ITP and RFS for it as it becomes more
mature. We would also like to see other CMake-based packages follow our
lead and use these utilities. If you have a package that uses CMake, we
encourage you to give dh-cmake a try.
Thank you in advance for the feedback. We are very excited to venture
into Debian development.