Hi,
CMake can be treated as a frontend that generates low-level compiling configuration.
Both makefile and ninja are the backends CMake supports.
Using ninja instead of Makefile could bring some benefits, including:
* more well-organized output
* better concurrency control
* better performance when handling lots of files
And dh-cmake also states in its README [1]:
+ "Note: as of Debhelper 11.2, you can use CMake's Ninja generator, by declaring
+ --buildsystem=cmake+ninja. Kitware highly recommends using this option,
+ especially for large projects, because it will speed up build time
+ significantly."
Projects with many files would benefit from switching to Ninja.
And some projects actually enforce it (e.g. pytorch).
So this is my proposal: if the maintainer asks for ninja, e.g. specifying
cmake+ninja, then pybuild also passes the same to dh_auto_*.
Or even better, pass anything looks like 'cmake+.*' in verbatim.
When debhelper supports more backends (e.g. meson), it could
be utilized by pybuild without special handling.
[1]: https://gitlab.kitware.com/debian/dh-cmake
Thanks,
Shengqi Chen