[Development] Proposing CMake as build tool for Qt 6

Christian Gagneraud chgans at gmail.com
Tue Jun 18 02:41:12 CEST 2019


On Tue, 18 Jun 2019 at 11:16, Kevin Kofler <kevin.kofler at chello.at> wrote:
>
> Konstantin Tokarev wrote:
> > Autotools provide human-readable options of standardized format
> >
> > --with-thing
> > --without-thing
> > --enable-thing
> > --disable-thing
>
> That's already 2 different standards for essentially the same thing (a
> boolean option),

This doesn't make sense to me, the underlying type has nothing to do
with the intent.

with/without tells the system to use a thing or not.
enable/disable tells the system to enable/disable the thing feature.

eg. --with-pcre --enable-expensive-operations

That is 2 different things even if they can be both expressed as boolean.

> and most non-GNU projects (and even some GNU ones) use them
> pretty arbitrarily and inconsistently. (There is supposed to be a semantic
> difference, but it is often arguable, because often a dependency and a
> feature go together. And several upstreams just use the 2 variants
> interchangeably altogether.)

And so what? Now you're gonna tell us that using CMake makes you smarter?
By switching to CMake you won't do the mistakes you did with another
build system?

With CMake i can arbitrarily and inconsistently use any convention.

>
> In CMake, there's just:
> -DTHING:BOOL=ON
> -DTHING:BOOL=OFF
> (and it also happily accepts a bunch of other notations for ON/OFF, without
> the CMakeLists.txt having to do anything).

So:
-DWITH_THING:BOOL=ON
-DWITH_THING:BOOL=OFF
-DENABLE_THING:BOOL=ON
-DENABLE_THING:BOOL=OFF

No difference except it's not very friendly to type.

Chris


More information about the Development mailing list