cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: Curl and CMake

From: Daniel Stenberg <daniel_at_haxx.se>
Date: Fri, 15 Sep 2006 09:40:43 +0200 (CEST)

On Thu, 14 Sep 2006, Andy Cedilnik wrote:

> In case of autoconf, you do have to have shell and awk and so on.

Oh indeed, there's a long list of prerequisites for that set of tools, but the
autotools are used by a huge range of software so any *nix developer's machine
already have them installed.

> Cross compiling is one of the issues that people are throwing out all the
> time, but it actually turns out that Autoconf does not have good support for
> cross compiling either.

I threw it out only because that's what I read on your list from someone that
appeared to know what he was talking about. I sure don't know enough about
CMake to make such statements of my own! ;-)

And I disagree about autoconf not having good support for it. I've cross-
compiled a huge amount of autoconf-based program with ease, and I would really
require that a replacement-tool would in fact allow the same options to allow
cross-compiling (natively or with a wrapper-script).

>> Is this really feature-complete with the existing configure in curl?

> It is not feature complete. It is complete enough that it worked for us. I
> suspect that if I would try to cmakify whole Curl and run all the tests, I
> would need to do some more work. That said, I suspect that several
> contributed build systems such as Borland, Visual Studio, etc are not
> complete either.

No, most of the non-configure approaches in curl require manual tweaking if
you want to do alternative builds. But that is not my point, my point is that
the configure script of now offers a large amount of options and checks that
your CMake version is not even close to cover.

I'm not saying it must do that. I'm only pointing out reasons why I don't see
switching to CMake a viable alternative for curl or libcurl within the near
future.

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

> We require a CMakeLists.txt file in the toplevel source directory. Other
> files can be stored in any directory you want.

I guess I need to see a proper patch to fully grasp how this would work. But I
don't have a problem with putting the single file CMakeLists.txt in the root
if we can put the dependencies in a separate subdir.

> As I sad before, if you want to build a project that uses CMake, you must
> have CMake installed on the system.

This is a major obstacle that I don't want to put our audience through. Not
until CMake is in much wider use and thus more likely to already be familiar
and used by developers who build (lib)curl from source.

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