[Development] Proposing CMake as build tool for Qt 6
annulen at yandex.ru
Mon Jun 17 17:44:46 CEST 2019
17.06.2019, 18:17, "Matthew Woehlke" <mwoehlke.floss at gmail.com>:
> On 17/06/2019 08.44, Konstantin Tokarev wrote:
>> Also, are you trying to say that cmake's configuration system is
>> more user friendly than Qt's configure
> Yes. Very much so.
>> (or for, that matter, autotool's configure or similar things in sane
>> build systems)?
> Yes. Very much so.
then our definitions of friendliness vary. I'd rather call cmake's behvior
>> All of the latter provide a set of documented options with
>> human-oriented names,
> CMake's options are also documented. (Or, at least, they should be. If
> they aren't, that's the fault of the project author(s), though, not
> CMake. Similarly, I'm sure you can neglect to document autotools options.)
In ccmake there is only one line per option for documentation. And I can't find
documentation in cmake-gui either.
> The difference is that autotools just spits out a great block of text at
> me. With ccmake / cmake-gui, I can *interactively* putter around the
> available options. And I don't have to copy/paste to turn things on, or
> worry if I need to remember to run configure with the same arguments
> every time, or...
This approach gives you no way to extract your actualy configuration line after
you finished your interactive configuration. That's why everyone uses commands
cmake -DX=A -DY=B -DZ=C ...
in their build instructions (though variable names are much less pleasant, in
particular to prevent name conflicts with cmake builtins and 3rd-party projects)
>> [...] which exposes internal variable names as they are.
> Again, poor naming is not CMake's fault. I'm sure you can give autotools
> config options very poor names also.
Autotools provide human-readable options of standardized format
Also there are a lot of standard options working with any project, like --host=
which provides cross-compilation
> Having recently tried to build Qt myself for the first time, I very,
> very much miss having something like ccmake...
As much as I miss really helpful --help with cmake
More information about the Development