[Top][All Lists]

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

Re: [lwip-devel] Transition to CMake?

From: Grant Erickson
Subject: Re: [lwip-devel] Transition to CMake?
Date: Fri, 27 Apr 2018 09:41:40 -0700


Thanks for reaching out. As someone who has been working on integrating and using open source in embedded systems for the better part of two decades now, I have both experience and opinions on this.

By far and away, for moderate- to reasonably-complex packages, the build system infrastructure of choice—for better or worse—is GNU autotools. I rarely have run into CMake (perhaps on one or two occasions at most) for open source projects, particularly those for embedded systems.

I can generally take a GNU autotools-based package and integrate it into a large embedded systems project in 5-10 minutes. For other build systems, like CMake, Jam, custom configure scripts, custom makefile-based systems, etc. it's typically much longer.

It's worth pointing out that GNU autotools can be hard to use for the new and uninitiated. Nest / Google have tried to make this easier by creating:


to help templatize and commonize patterns. Nest / Google's OpenWeave and OpenThread both use it to good effect.

I'd strongly advocate taking a look at GNU autotools and, in particular nlbuild-autotools for LwIP.



On Fri, Apr 27, 2018 at 9:00 AM, Dirk Ziegelmeier <address@hidden> wrote:
Hello all,

those who watch the lwIP commits have noticed I started working on a CMake
based build system.

My question is: Is there an interest in the old Makefile-based system? I'm
currently tempted to throw it away :-) I'd just keep the Filelists.mk files
for people with Makefile build systems.

The *far* goal would be to also unify the UNIX and Win32 applications.
CMake will automatically detect the build host and pull in the appropriate
port (Unix/Win32). The netif selection also needs to be per platform, UNIX
uses tapif/tunif and Windows uses pcap.
So the next question is: Who cares about simhost/minimal/lib/check project
in the unix port? Are they important for someone? I'd say we throw them
away and clean up the windows application some more. Currently Simon
maintains the Win32 app and I care about the simhost unix app. They
basically do the same, so this is a waste of time.

Please guys give us some feedback on this!

reply via email to

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