cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: Curl and CMake

From: Daniel Stenberg <daniel_at_haxx.se>
Date: Thu, 14 Sep 2006 20:17:43 +0200 (CEST)

On Thu, 14 Sep 2006, Andy Cedilnik wrote:

> I agree with that. Why fix something if it works fine. That said, you do
> have to maintain several build systems as is in order to have Curl building
> on several platforms. So, in that case, it is not fixing the build process,
> but the maintenance of the build process.

There's a few crucial points you miss when saying that.

*I* don't maintain all those files alone. The people who care about them do.
It means that if there's no one around who care for a particular port, it will
lag behind. But the point is that I personally often don't have to care about
much more than the configure.ac file.

I don't know CMake, and chances are that most of the other curl build hackers
don't either, so instead of a system with many files that work (and are
maintained in a fairly distributed way), we'll get a system with less files
that no one of us master. Your own site even claims that the CMake docs are in
a bad shape which would be a hinder for us to learn and become good at it.

Also, the autobuild system would also be a problematic area when switching
CMake since less servers/users have that installed.

I'm also scared about what I read on your mailing list:

"CMake doesn't have any cross-compilation support at present"

The lack of such completely rules it out for curl. Even though I'll be fair
and say that I don't know exactly how far off from this point you are or how
hard it would be to hack in.

> Instead of attaching the CMake list file, I will point you to the latest CVS
> of it:
>
> http://public.kitware.com/cgi-bin/viewcvs.cgi/Utilities/cmcurl/CMakeLists.txt?rev=1.8&root=CMake&view=markup

What files does this single one depend on or use? CurlTests.c only?

Is this really feature-complete with the existing configure in curl? (OpenSSL,
GnuTLS, c-ares, libidn, krb4, zlib, ca bundle, gssapi, protocol disable/enable
and more). I can see it having support for some of them, but I don't see how
you for example can tell the script where to find specific libs etc.

> I do want to warn you that this is only libcurl, it is old (7.12.1)

http://cool.haxx.se/cvs.cgi/curl/configure.ac.diff?r2=1.204&r1=1.90&diff_format=u

Quite a few changes done in configure.ac alone since then...

> If you decide to put CMake list files into the repository, I would of course
> clean them up and make sure whole Curl builds with them.

So those two files are the only ones required? Can I just put them in a subdir
and CMake would be happy?

And one thing that I tried to get answered on your web pages but I couldn't
find an easy answer to:

When you build curl using CMake, do you actually need CMake installed to do
it? I mean the end user who downloads the curl tarball.

-- 
  Commercial curl and libcurl Technical Support: http://haxx.se/curl.html
Received on 2006-09-14