← Back to team overview

kicad-developers team mailing list archive

Re: Bug 1833851 - Massively Parallel Builds

 

On Sonntag, 30. Juni 2019 16:45:19 CEST Seth Hillbrand wrote:
> Hi Devs-
> 
> I'm stuck at a decision on this bug and would like some opinions from
> others.
> 
> The background is the GNU make is not intelligent about parallel builds
> and doesn't merge generated targets.  So we need to serialize the
> dependencies but this breaks everytime we include the lexer header file
> in a different object or use the generated DSO for more than one target.
>   Eventually, we have sufficient parallel processes that the header gets
> generated twice.  If this happens at the same time, the build breaks.

I have seen errors like this several times, and every time it has been an 
error in the underlying cmake rules. Most of the times this happens when 
mixing custom_targets and custom_commands, and specifying the wrong dependency 
(dependency on a file when a target dependency should be used, and vice 
versa). kicad-doc had a problem in this regard as well, but it is fine now.

One obvious thing that is fishy is generating the files in 
CMAKE_CURRENT_SOURCE_DIR - generated files should *always* go into 
CMAKE_CURRENT_BINARY_DIR.

Kind regards,

Stefan

-- 
Stefan Brüns  /  Bergstraße 21  /  52062 Aachen
home: +49 241 53809034     mobile: +49 151 50412019

Attachment: signature.asc
Description: This is a digitally signed message part.


References