[cmake-developers] Future of ccmake and cmake-gui

Justin Berger j.david.berger at gmail.com
Thu Aug 17 10:49:23 EDT 2017


I think asio being on track to be included in the standard library is a
strong point in its favor, but in my opinion there are two strong reasons
to prefer libuv:

- libuv is entirely a C library. I don't think this is a hard requirement
but most of kwsys is C and I suspect there is a reason for this; although
maybe it's entirely historical.
- asio is header only; and a lot of headers at that. With essentially
identical functionality, I don't think it makes sense to take the build
time hit; which as far as I can tell is substantial.

If/when ASIO gets into the standard, I think it'd make sense to re-evaluate
that, but we are a long time away from that, and even when it gets into the
standard it'll take a maddeningly long time for that standard to be
properly supported for all the supported platforms for cmake.

- Justin

On Thu, Aug 17, 2017 at 6:46 AM, Ben Boeckel <ben.boeckel at kitware.com>
wrote:

> On Wed, Aug 16, 2017 at 23:02:52 +0200, Jean-Michaël Celerier wrote:
> > @Ben Boeckel :
> > > The idea for process creation is to migrate to libuv once all of the
> > dependencies are supported.
> > Quick question : why not asio instead ? it's bound to end up in the
> > standard library at some point (e.g.
> > https://github.com/chriskohlhoff/networking-ts-impl) and already has an
> > event loop.
>
> CMake uses curl for networking (all sync), but libuv was added for the
> server mode's event loop. It also comes with process execution, some
> filesystem helpers and other things that kwsys does today that we can
> drop once we move to it. AFAICT, asio looks like it's mostly a
> networking library and doesn't overlap well with libuv and CMake's
> requirements.
>
> > Or even Qt's event loop since it's already here.
>
> Qt isn't required by core CMake, just cmake-gui.
>
> --Ben
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at http://www.kitware.com/
> opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/cmake-developers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake-developers/attachments/20170817/e2e698fa/attachment-0001.html>


More information about the cmake-developers mailing list