← Back to team overview

kicad-developers team mailing list archive

Re: "generate version string header"

 

On 11/23/2015 2:20 PM, jp charras wrote:
> Le 21/11/2015 23:08, Wayne Stambaugh a écrit :
>> On 11/21/2015 2:54 PM, jp charras wrote:
>>> Le 20/11/2015 21:56, Wayne Stambaugh a écrit :
>>>> On 11/20/2015 3:08 PM, Mário Luzeiro wrote:
>>>>> Hello all,
>>>>>
>>>>> I am building kicad on windows msys/mingw32
>>>>> Everytime I update (pull) my development bzr branch it will  "generate version string header" and rebuild all kicad. :S
>>>>
>>>> It should only rebuild when there is a commit change to your branch.
>>>> Even when it does change, it should only update the version string,
>>>> recompile the common library, and relink all of the binaries to the
>>>> updated common library.
>>>
>>> This is true on Linux, but unfortunately, not on Windows:
>>> Each time the bzr version has changed a full compilation of all files in
>>> Kicad sources is made.
>>
>> This sounds like an issue with make on windows.  I don't know how else
>> this could happen unless cmake build scripts is changing the time stamp
>> on one of header files used by most of kicad such as config.h.
>>
> 
> This is more strange:
> 
> I had a look at .cpp files dependencies like depend.internal.
> 
> version.h and config.h appear in dependency list of each .cpp file in
> Kicad (all but bitmaps).
> Therefore, each time version.h is rebuilt, all files are recompiled.
> 
> In attached patch, I just renamed version.h to kicad_build_version.h
> 
> And the problem is gone.
> 
> Can you have a look at my patch.
> 
> Thanks.
> 
This is only a problem on msys2.  The old msys1/mingw32 platform using
native cmake doesn't have this problem.  If cmake makes all of the cpp
files dependent on version.h, then it sounds like the issue is with
msys2 cmake packages creating an invalid configuration.  I'm not sure
how your patch will make any difference.  I will test it but it will
take a while to build on my work computer.  Did you do a clean build or
a rebuild?  I'll try both just to make sure.


Follow ups

References