Web lists-archives.com

Re: A message from CMake upstream: announcing dh-cmake

Hi Kyle,

On Tue, Jul 03, 2018 at 03:56:42PM -0400, Kyle Edwards wrote:
> Hello everyone!
> 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.

Thanks a lot for this effort.  We really appreciate this kind of

> 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

I've cloned this and was able to build the package.  I think you can
solve the lintian warning
  W: dh-cmake source: ancient-python-version-field x-python3-version 3.2
by simply removing
  X-Python3-Version: >= 3.2
from d/control.  Manpages for the tools in /usr/bin would be nice.

>, 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
> "dh-cmake" package.
> 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.

I'll try with the next cmake package I'll touch.  If you can give
some examples this would be helpful.

> Thank you in advance for the feedback. We are very excited to venture
> into Debian development.

Thanks a lot to you