[Top][All Lists]

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

Re: [lwip-devel] Transition to CMake?

From: james woodyatt
Subject: Re: [lwip-devel] Transition to CMake?
Date: Wed, 02 May 2018 15:51:06 -0700

Hi Simon,

From my perspective (with a similar number of years experience in integrating source code for embedded systems), I'd say CMake is probably a better choice for you than GNU Autotools. It has several advantages, and very few detractions:

p1. It's more flexible about the build command tool, i.e. it can generate build control logic for all the important variants of make, as well as various IDE, as well as ninja and probably a couple of other experimental tools. Whereas GNU Autotools will force you to use GNU Make.

p2. It's more cross-platform. As you note, it runs fine on Windows natively. It also generates Xcode subprojects.

Its major detraction, in my *humble* opinion, is that the CMake language is not much of an improvement over the Bourne shell underlying the M4 preprocessor library in GNU Autotools, and in some ways it leaves much to be desired. Some of those detractions are probably pretty important to Grant, but I suspect they're manageable by calling out to scripts written in more functional languages.

Accordingly, I don't have a strong opinion. But I'd guess that CMake won't be a mistake.
+ james woodyatt <address@hidden>

On Fri, Apr 27, 2018 at 11:33 AM, address@hidden <address@hidden> wrote:

On 27.04.2018 18:41, Grant Erickson wrote:

By far and away, for moderate- to reasonably-complex packages, the build system infrastructure of choice—for better or worse—is GNU autotools.

That's *your opionion*. I wouldn't speak of *is* here.

Anyway, as you noted below, for those not knowing autotools, as you stated below it can be hard for beginners. And reading some posts on lwip-users, I don't think it's a good idea to use autotools for lwIP, which is a library wihout too much code pulled in.

But out of curiosity, what would you expect from autotools for lwIP? I'd expect that cc.h and some of the functions declared in def.h could be autodetected. Any more? I don't suppose autotools would help anything in opt.h/lwipopts.h.

And we would still get makefiles in the end, would we?

And how would it work on windows? I don't want people to have people to install cygwin or mingw or something to compile the win32 port ;-)

I rarely have run into CMake (perhaps on one or two occasions at most) for open source projects, particularly those for embedded systems.

Neither did I. That doesn't mean it's not good.

However, I don't really have a strong opinion on this. I still want an msvc project to be available in the windows port without having to install cmake.

Other than that, the question of make, cmake or anything else is rather a question for contrib, is it? When keeping the (relatively new) file Filelists.mk, we can just have the same thing for cmake. I doesn't mean people have to compile lwIP with cmake. It would just mean people would have to start with cmake when compiling the unix port etc...


lwip-devel mailing list

reply via email to

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