[Development] Proposing CMake as build tool for Qt 6

Christian Gagneraud chgans at gmail.com
Mon Jun 17 14:27:23 CEST 2019


On Mon, 17 Jun 2019 at 23:06, Jean-Michaƫl Celerier
<jeanmichael.celerier at gmail.com> wrote:
>
> > The world is not spinning around Qt, sorry for the bad news.
>
> On that we agree : https://www.jetbrains.com/lp/devecosystem-2019/cpp/
> I mean, I had actual CMake classes with a CMake exam on paper 6 years ago at the university -- you get a few hundreds of new devs on the job market every year out of that one, who *will* know CMake, and won't know qmake / qbs / [...].

Are you insulting this mailing list?
How do you think we made it so far without cmake? Honestly?

The very fact you're discussing qmake and qbs just show that you know
about them, and that you know what they provide cmake cannot provide
(yet).

> > I prefer a transparent self-bootstrapped Qt over an explicit two stages one.
> I (entirely personnally) really do not, - this is anecdotally one of the main objections I've heard about Qt (3k questions just about Qt's configure in SO ! https://stackoverflow.com/search?q=%5Bqt%5D+configure) : not just answering to a standard cmake && make && make install which comes with gui discoverability through cmake-gui, embeddability through add_subdirectory or C++ package managers such as conan, vcpkg, hunter, etc etc. but instead acting like its own microcosm library where you have to learn yet another set of commands & invocations if you want to integrate it in your existing system.

Woah, you're ass is so shinny i can't see the light.

> > Last comment: Please think about [...] Cmake is not yet ready for that.
>
> > embedded Linux
> Oh come on.

Yes, come on, why do i have to define a custom "toolchain file" each
time someone fart?
Can't you just understand the good old gnu configure triplet? Or the
concept of sytem/user wide profile? (qbs profile, qmake specs)
Why does every single project has to provide it's own set of CMake
toolchain files?
Have you ever thought about the problem?

Well, i doubt that. "If it works on my Windows machine, then it works
everywhere", right? (provocative sarcasm really)

> > qnx
> you mean like software companies using Qt do, today ? https://github.com/mapbox/mapbox-gl-native/blob/master/platform/qt/qnx.cmake

I'm gob-smacked!!!
This is awesome.

They can use gcc to build a QNX app... Thanks CMake to allow QNX to
exists... This real-time kernel could never have existed without the
help of CMake.
My first experience with QNX, was.. at least 20 years ago. I'm not
even sure CMake existed back at that time.
But hey, you're revolutionizing the world, i cannot fight obviously...

> > vxworx
>
> VxWorks ships with CMake so there must be at least some amount of support. (https://tp.prosoft.ru/docs/shared/webdav_bizproc_history_get/234075/234075/?ncc=1&force_download=1)

Lol, did you run out of google searches? Honestly i can throw random
links too. Did you click "I'm felling lucky" or what?

> > iOS
>
> ... yes ? https://github.com/sheldonth/ios-cmake

Yeah right, problem solved then! Ship it! Come on, let's do it!

Let's make an announcement:

CMAKE FULLY SUPPORT IOS.

PS: well, not exactly, please carrefully read the small prints.

> Also, just because CMake now has acquired *official* support for iOS does not mean that it hasn't been working for a long time. There were people shipping iOS apps with CMake five years ago - and this is due in part to CMake having a *large* community, unlike qmake / qbs, which means that even if CMake does not directly support $FEATURE, chances are that you can find an aptly-licensed open-source library that you can use to augment your build with and achieve what you want.
> See e.g. all the projects that ship today with https://github.com/leetal/ios-cmake, https://github.com/ruslo/polly, etc etc
> In contrast, how many people are shipping qmake extensions outside of QtCore, as a library for anyone to use ?
>
> > android and whatever next os is coming.
> Oh come on (bis). CMake has been one of the official android build systems for close to two years now : https://developer.android.com/ndk/guides/cmake
>
> Also, C++Builder was able to ship and advertise CMake support for Android & iOS a year ago so there is no reason Qt cannot do the same : https://community.idera.com/developer-tools/b/blog/posts/new-in-10-2-3-cmake-support-for-ios-and-android
>
> > and whatever next os is coming.
>
> you mean like Fuschia (https://github.com/Kitware/CMake/blob/master/Modules/Platform/Fuchsia.cmake) or maybe actual operating systems built with CMake, such as IncludeOS (https://github.com/includeos/IncludeOS) or ReactOS (https://github.com/reactos/reactos) ? :-)

Man, your google skills outpace me to such an extent that i cannot be
bothered wasted more time...

Chris


More information about the Development mailing list