kicad-developers team mailing list archive
-
kicad-developers team
-
Mailing list archive
-
Message #21414
Re: "generate version string header"
On 11/23/2015 3:06 PM, jp charras wrote:
> Le 23/11/2015 20:52, Wayne Stambaugh a écrit :
>> 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.
>>
>
> I tested both a clean build and a rebuild.
>
> Obviously, renaming version.h to kicad_build_version.h is just a
> workaround to this strange issue, Windows specific.
>
>
I finished testing this and it seems to work although I don't know why
changing the header file name fixes the problem unless version.h has a
special meaning for the msys2 cmake packages. Go ahead and commit it
when you get a chance.
Thanks,
Wayne
Follow ups
References