<div><div dir="auto">ccache is a great solution. The problem we have is that some header files like kstars.h and skymap.h are included everywhere in the code. So one tiny change to either of these files and the entire project (almost) gets recompiled. The solution is to break these classes and make things modular so we don’t have to route everything through the SkyMap or KStars classes, but as you can imagine this would be a major undertaking.</div><div dir="auto"><br></div><div dir="auto">Regards</div><div dir="auto">Akarsh</div><div dir="auto"><br></div></div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 13, 2020 at 02:51 Jasem Mutlaq <<a href="mailto:mutlaqja@ikarustech.com">mutlaqja@ikarustech.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr">Try to install ccache and enable it in CMake, it helps reduce compilation times.<div><br clear="all"><div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>--</div><div>Best Regards,<br>Jasem Mutlaq<br></div><div><br></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 13, 2020 at 5:56 AM Hy Murveit <<a href="mailto:murveit@gmail.com" target="_blank">murveit@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div dir="ltr"><div><b>TL;DR</b> KStars makefiles seem to recompile everything (or a lot anyway) when seemingly small 'git pulls' come in. Wondering if there's something wrong with the setup. I'm not a cmake wizard.</div><div><br></div><b>Background:</b> I compile/test KStars mostly on my MacbookPro, and I find the compile times very reasonable there. However, when I am ready to test something with a telescope, I compile and run on my 4Gb RPi4. There it takes about 40 minutes for me to completely build the system (I run 'make -j6 kstars' and am compiling RelWithDebInfo) and for some reason, it often seems to build most of the system.<div><br></div><div><b>Gripe: </b>When I change a single .cpp in an Ekos module, yes, it seems to work fine, just recompile that file, then build the library, then build the binary. However, often I seem relatively small updates come in, and I notice very long compiles.  Do others notice this? I wish I could give concrete examples. Does anyone know how to analyze? E.g. is there a command to see what would be compiled (and why) before running the make? Is there a way to improve this?</div><div><br></div><div>Thanks,</div><div>Hy</div><div><br><div><br></div><div><br></div><div><br></div></div></div>
</blockquote></div>
</blockquote></div></div>