This, a thousand times this.
A basic Makefile is always preferable to me finding a problem with your magical unicorn make system of choice (read: CMake).
This, a thousand times this.
A basic Makefile is always preferable to me finding a problem with your magical unicorn make system of choice (read: CMake).
Not to mention auto-generated code being extremely difficult to work with.
All companies I worked at had replaced "make" with something in-house, because make is simply horrible.
I got sick and tired of this situation and wrote a small CMake module [1] that accepts standard configure options to determine the installation path.
[1] http://bloerg.net/2013/10/29/turning-cmake-into-a-good-unix-...
set(LIBDIR lib CACHE STRING "lib dir")
install(${lib_targets} DESTINATION ${LIBDIR})
That's what I do and I am able to build packages with it just fine, that send the libs to wherever the hell they want them.On my anecdotal desktop install there are two packages that use cmake; awesome and taskwarrior.
Grep'ing the ebuilds on this Gentoo box, shows me ~400 packages out of ~16000 that use cmake(excluding KDE where it clearly is standard). A lot of the remaining ones seem to be very project specific too(70 leechcraft, 11 fcitx, 10 opensync).
Official: 547 out of 5115 use cmake.
Unofficial: 5167 out of 47069 use cmake.
A lot of these offer plain Makefiles too, but cmake is decently popular and hard to dismiss.
Autoconf/Automake are more popular so it's going to be a lot easier on packagers if developers use them. But if they use them incorrectly, packagers will have to hack on the Makefiles when they could have run a bootstrapper like autoreconf.