← Back to team overview

kicad-developers team mailing list archive

[PATCH 0/2] Build enhancements

 

Hi,

two patches for the build system. These should not touch Windows, and work
on MacOS, but LLVM is untested and might need extra handling (llvm-ar
instead of gcc-ar?).

The first one fixes a bug that caused the gcc specific handling to be
skipped until the second time cmake was run without clearing the cache, so
the symbol visibility was wrong, for example.

The second enables link time optimization for Release builds on gcc.

Without LTO         With LTO

real    11m59.390s  real    14m22.338s
user    87m10.672s  user    84m10.972s
sys     3m13.296s   sys     3m21.364s

           1041568               499424 bitmap2component
            545488               267520 cvpcb
           7147152              4406448 _cvpcb.kiface
            901056               672176 dxf2idf
            545488               267520 eeschema
           7437208              4904112 _eeschema.kiface
            542800               267584 gerbview
           3068104              2023640 _gerbview.kiface
            439944               325528 idf2vrml
             26392                21432 idfcyl
             16528                15744 idfrect
           1314960               745992 kicad
            542800               267584 pcb_calculator
           2161160              1508424 _pcb_calculator.kiface
            545488               267544 pcbnew
          15979136             11050008 _pcbnew.kiface
            545488               267520 pl_editor
           2749264              1873848 _pl_editor.kiface

   Simon

Simon Richter (2):
  Move feature check before dependent tests
  Use Link Time Optimization with GCC in Release builds

 CMakeLists.txt                          | 24 ++++++++++++++++++++----
 CMakeModules/PerformFeatureChecks.cmake |  1 +
 2 files changed, 21 insertions(+), 4 deletions(-)

-- 
2.1.4



Follow ups