Build system changes in debhelper

Since debhelper/11.2.1 [*], we now support using cmake for configure and ninja for build + test as an alternative to cmake for configure and make for build + test. This change was proposed by Kyle Edwards in Debian bug #895044. You can try this new combination by specifying "cmake+ninja" as build system.

To facilitate this change, the cmake and meson debhelper buildsystems had to change their (canonical) name.  As such you may have noticed that the --list option for dh_auto_* now produces a slightly different output:

You might also notice that cmake and meson is no longer listed in the full list of build systems.  To retain backwards compatibility, the names cmake and meson are handled as cmake+makefile and meson+ninja. This can be seen if we specify a build system:

If your package uses cmake, please give it a try and see what works and what does not. So far, the only known issue is that cmake+ninja may fail if the package has no tests while it success with cmake+makefile. I believe this is because the makefile build system checks whether the test or check targets exist before calling make.

Enjoy. :)

Footnotes:

[*]Strictly speaking, it was version 11.2.  However, version 11.2 had a severe regression that made it mostly useless.
Published: Sun 08 April 2018



Tags