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: Søren Hauberg
Subject: Re: CMake [was:Re: Successfully merged projects]
Date: Mon, 11 Apr 2011 21:07:24 +0200

man, 11 04 2011 kl. 13:43 -0500, skrev Jordi Gutiérrez Hermoso:
> 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.

After a few years of CMake I tend to think that "slowly" is the
important word here. CMake has some very vocal fans (which I guess is
better than autotools, which have no fans...), but it seems like the
state of CMake is the same as it was three years ago, when I started
using it.

> >* 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.

Hmm, I have yet to find a single "Find" module for the libraries I've
used (mostly scientific computing/statistical stuff). Perhaps I'm just
using obscure libraries...

> > 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.

That was poor wording on my behalf. I merely ment to say that once you
start depending on many libraries, the amount of work you have to do
grows much faster than I would have ever expected. At least that's how
things have been for me.

> > * 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.

Yeah, I'm not defending autotools here, I'm just saying that CMake
really doesn't improve things on this front. That being said, autotools
does have the advantage that we already have a build system based on 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.

I agree with you here. I am by no means an expert on either CMake or
autotools, and given that I haven't been contributing much lately my
words does no carry much weight. I'm just sharing my rather poor
experiences, which I fear would also carry over to Octave. That and I
also dislike the basic idea that if you use a certain library (Qt) then
you also have to use a specific set of build tools (qmake/CMake).

Søren



reply via email to

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