← Back to team overview

kicad-developers team mailing list archive

Re: Development workflow

 

Hi Thomas,

On 05/07/2017 12:48 PM, Thomas Kindler wrote:
> Hi!
> 
> I'm just starting with KiCad development. I got it to compile on both MSys2 and
> Ubuntu, and did my first patches for practice.
> 
> A full compile takes about 35 minutes on my machine. ccache can get this down to
> ~15 minutes, but doesn't help much if I touch a common header file.

Using 'make -jX' (X = number of cores + 1) significantly helps, but I
suppose you may know it already. If you have other machines, distcc is
also a great help (it is a great delight when one executes 'make -j22').

> Also, I seem to have to do "make install", to actually try out KiCad. This will
> always build all applications, even if I only want to try out changes to Pcbnew.

With Linux it is not necessary. I simply run
kicad_src/build/pcbnew/pcbnew and it works fine. Note that if you want
to use features from another application (e.g. footprint previewer in
eeschema depends on pcbnew) you need to create appropriate symlinks. I
do the following:

$ cd build/kicad	# kicad launcher build directory
# create symlinks for *kiface files
$ find .. -name "*kiface" -exec ln -s \{\} \;

> So - how do you work?
> 
> - Is 30 minutes the expected turnaround time for trying out changs?

As you have noticed, full rebuilds happen only when you touch one of the
ubiquitous headers. The build time has been already improved by
splitting the big headers and cleaning up redundant #include directives,
but I am sure there is still some work to do.

> - Is there a trick to only build, say, Pcbnew, and start it from the build
> directory without doing make install?

Yes, you may either run 'make' in build/pcbnew directory or run 'make
pcbnew'.

> - make install is also a problem if I want to keep multiple binary version of
> kicad side-by-side. It would be much nicer to just be able to start it from a
> build directory. But the kicad-launcher isn't able to start the other
> applications then.

See the note about creating symlinks, it should solve the problem.

Regards,
Orson

> - Is there some documentation of how to set up Eclipse for rapid kicad
> development and debugging? I could figure it all out myself, but surely someone
> has done it before..
> 
> 
> best regards,
> thomas
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 


Follow ups

References