On Mon, May 3, 2010 at 8:10 AM, Alan DeKok <aland@deployingradius.com> wrote:
Aaron Turner wrote:
FWIW, I've been migrating my project (tcpreplay) from Auto* to Cmake. It's a huge win if you're targeting Win32 (which I know freeradius isn't), but I've been pretty happy with it under various flavors of UNIX as well. Syntax is sane, it's well maintained and good active community.
Hmm.. it's also C++ (ugh), and about 300K LoC. But yes, it works, and lots of people use it.
I've never felt the need to hack on Cmake or Autotools so the size or language choice wasn't a factor.
One of my requirements is that *normal* people can do builds with a standard Unix SH and Make. That means the build system should generate old-style Makefiles. I also think that the build system *itself* should never be installed. That way lies madness.
It is annoying you need Cmake install to do a build, but I figure 95% of my users are installing pre-built packages and the other 5% are advanced enough to figure it out. 20 years ago when everyone was building everything from source rather then installing binary packages, it would of been a deal breaker for me too, but things have changed sufficiently that I'm willing to accept it.
I've had too many problems over the years with a project using a "wonderful" build system... that requires me to download it and 40 dependencies... then the *latest* version of the build system isn't compatible with the project, so I have to find an old version of the build system...
autoconf, et. al. are horrible, but they satisfy my requirements, and they don't have the problems noted above (except for libtool and libltldl, wich should *die*)
Honestly, if Auto* does what you need, then it's probably not worth moving to another system. I can't say I was "happy" with autoconf/automake but it worked and when I got bug reports from users I was able to fix them without too much effort. As I said, the reason I moved to Cmake was I wanted a unified build system for my Win32 port and Cmake allows me to generate standard Makefile's, and XCode/MSVC++ project files. If it wasn't for that, I'd still be using Auto* even though I find it impossible to master regardless of effort- I always felt like I'm just getting by and there's gotta be a better way of doing things, but I never can figure it out. -- Aaron Turner http://synfin.net/ Twitter: @synfinatic http://tcpreplay.synfin.net/ - Pcap editing and replay tools for Unix & Windows Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. -- Benjamin Franklin "carpe diem quam minimum credula postero"