octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CMake [was:Re: Successfully merged projects]


From: Jordi Gutiérrez Hermoso
Subject: Re: CMake [was:Re: Successfully merged projects]
Date: Mon, 11 Apr 2011 13:43:24 -0500

I'm no CMake shill, but...

On 11 April 2011 12:10, Søren Hauberg <address@hidden> wrote:

> * It's really annoying that I have to install CMake in order to
>   build stuff from a tar-ball. With autotools all I need is /bin/sh.

Yeah, but so many people are using CMake, that it's slowly becoming
more standard.

> * Installing things in a non-standard location is far less obvious
>   than with autotools.

It's just a matter of getting used to things. The --prefix command for
autotools can also be obscure if you're not used to attaching --help
in order to read how to use something. CMake has several UIs for fine
tuning all build options, and you can find the prefix thing there too.

> * Documentation is crap.

I agree. I think this is on purpose so that you buy the CMake book.
Kitware seems to operate on a similar principle with all of their
software. VTK also has bare-bones free documentation, pretty much only
Doxygen output. Their business model seems to be to make money on the
books and if people want free documentation, they provide wikis for
that.

> It is hard to imagine a project with worse documentation than
> autotools,

Btw, this was the only thing I've ever read that clarified autotools a
little for me, although I haven't worked through the full thing to
understand it all:

     http://www.lrde.epita.fr/~adl/autotools.html

>* In general you have to write a bunch of "Find"
> modules every time you want to use an external library.

Most of the time, they've already been written by someone else.

> It seems like CMake was designed with a focus on monolithic
> projects rather than modular ones.

I'm not sure what you mean here. You can usually modularise CMake
builds by writing more CMakeLists.txt files in subdirectories, but I
don't understand this general complaint.

> * The CMake syntax is just as obscure as the one in the autotools,
> so it rarely makes things easier.

Perhaps. It's just another syntax. At least it's only one syntax
instead of having to know how to use autoeverything plus m4 plus shell
commands plus make.

> All in all, I've found CMake to be a step forward for Windows and
> Mac developers, but a rather large step backwards for Linux
> developers. I tend to be rather agnostic when it comes to choice of
> tools, but I have found so little to like about CMake, that I think
> it's fair to say that I actually dislike it.

Fair enough. I mostly like it. I'm not necessarily saying we should
use CMake for building Quint inside Octave. And all of the points you
raise (obscure syntax, nonstandard, bad documentation) are probably at
least as bad for qmake. We do need to make a choice, and we should
make it early in order to ensure the success of the GUI project inside
Octave.

- Jordi G. H.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]