> -----Original Message-----
> From: Development <[email protected]> On Behalf Of
> Konstantin Tokarev
> Sent: 06 June 2019 14:30
> To: Simon Hausmann <[email protected]>; Bogdan Vatra
> <[email protected]>; [email protected]
> Subject: Re: [Development] Proposing CMake as build tool for Qt 6
> 
> 
> 
> 06.06.2019, 16:25, "Simon Hausmann" <[email protected]>:
> > Hi,
> >
> > Regarding PCH, it seems that right now it would be easiest to include
> something like https://github.com/sakra/cotire . Patches are welcome to
> integrate this or alternatively work with upstream CMake for a built-in
> solution.
> 
> Yet another alternative is https://github.com/larsch/cmake-precompiled-
> header/blob/master/PrecompiledHeader.cmake
> which is not so monstrous as cotire

I have used Cotire until recently and would caution against it.  The library at 
its core is a clever idea but its implementation caused a lot of build 
instability for us.  Its current version doesn't work on MSVC with CMake > 
3.12, also fails on Mac with AppleClang 8.0 (bad command line parameter).  It 
appears to be unmaintained as my bug reports have gone completely unanswered / 
not even acknowledged.

In the end I wrote my own pch script that works ok for our scenario.  MSVC 
support is pretty trivial, gcc/clang more awkward because their pch compilation 
is a separate build step.  My script did include some ideas from larsch github 
repo linked above, but I don't like his approach of injecting build flags into 
the clang/gcc pch stage (it didn't work for me, I ended up missing critical 
flags).

I used some ideas from cotire to generate a list of includes to seed each 
module PCH header file, but maintain updates manually (like MSVC stdafx.h/pch.h 
approach).  I'm sure pch header generation could be automated too...

Mark 

_______________________________________________
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development

Reply via email to