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

Jean-Michaël Celerier jeanmichael.celerier at gmail.com
Wed Aug 16 17:02:52 EDT 2017


@Eric Wing
> I am not making a strong push for this, but I want to bring it up to
at least get people thinking about this... I am disturbed by the size
and complexity of Qt. My past experiences have not been good and I
find it a massive chore to get an environment setup (especially on Mac
and Windows...and building Qt on Raspberry Pi is a nightmare).

Really ? On mac it's just brew install qt. On windows choco install qt-sdk
(and it even comes with mingw so that you don't necessarily have to install
visual studio).
On Raspberry sudo apt-get install qtbase5-dev.

Building qt itself is a matter of doing (cue errors from typing in a mail
without checking)

git clone https://github.com/qt/qt5
cd qt5 ; git submodule update --init qtbase ... # whatever submodules you
need
./configure -open-source -confirm-license -nomake tests -nomake examples
-prefix /opt/my-qt
make -j8 && make install

> And the binary sizes are large. (I do ship CMake to my users and its size
with
the GUI is non-trivial.)

Maybe consider a LTCG build (-ltcg) if this really matters ? This way I can
get a moderately complex GUI app that uses gui, widgets, network, qml,
etc...
under ten megabytes, so something like cmake-gui should be way smaller...
(this also removes any problem related to DLLs).

@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.
Or even Qt's event loop since it's already here.

Best,
Jean-Michaël




-------
Jean-Michaël Celerier
http://www.jcelerier.name

On Wed, Aug 16, 2017 at 9:17 PM, Ben Boeckel <ben.boeckel at kitware.com>
wrote:

> On Wed, Aug 16, 2017 at 09:16:24 -0700, Eric Wing wrote:
> > It has native backends for Windows, GTK2, GTK3, Motif, Haiku. Because
> > it historically didn't have a Mac OS X backend, most people overlooked
> > it. However...I've been implementing a native Mac OS X backend. It's
> > not finished, but there is a lot implemented and I'm actually shipping
> > a simple app with it this week. Since CMake's GUI usage is also pretty
> > simple, I *think* there might already be enough implemented to do the
> > CMake-GUI...or it's close enough that I probably could finish those
> > needed features.
>
> How easy is it to ship binaries which work on any platform without also
> shipping all of the necessary platform backends as well?
>
> > Now IUP only does GUI (which is another reason it stays small), so you
> > will need to fill in the JSON and Process requirements. But there are
> > tons of JSON libraries. Off the top of my head, cJSON is a really
> > fast, tiny, and simple to use JSON library. It's a single C file and
> > header, so you can drop it right in the project. (Also MIT). It also
> > has a CMake build system if you really want it.
>
> There's already a JSON library in CMake: jsoncpp.
>
> > And a cross-platform create process...those I've seen everywhere and
> > I've actually written my own too. I think Apache Runtime is only
> > measured in hundreds of kilobytes even with all the stuff you don't
> > need.
> > A quick Google search turned up this one C++ (MIT)
> > https://github.com/eidheim/tiny-process-library
>
> The idea for process creation is to migrate to libuv once all of the
> dependencies are supported. Looking at the implementation here it
> is…naïve at best. It uses `sh -c` instead of `exec` to do its work which
> means that CMake would need to do manual pipe management anyways.
>
> --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/20170816/61fa69f8/attachment-0001.html>


More information about the cmake-developers mailing list