I would like to share a result that I got when compiling Kicad for Windows.
Kicad depends on several thirdy party libraries.
One of these is HarfBuzz.
HarfBuzz can be compiled for using unicode support from external libraries, GLIB and ICU.
This is a good choice because it is useless to reinvent the wheel every time.
However, if those libraries are not available, HarfBuzz can be compiled for using its internal, fully featured Unicode support.
Typically, this may be not required, but on Windows it would be worth to evaluate some benefits.
By recompiling HarfBuzz without GLIB and ICU support, the Windows version can avoid to provide these libraries and all their dependencies.
Since libgobject-2.0-0.dll is not included into the installer, it also seems to me that some extra DLLs are just useless.
In short: according to Dependency Walker tool, GLIB and ICU are required only by HarfBuzz. By recompiling Harfbuzz without GLIB and ICU, I was able to trash about 45 MEGABYTES of shared libraries and dependencies from the installation directory, without any effect on Kicad.
I understand that Kicad is currently using pre-compiled libraries from MINGW-W64.
Evidently, those libraries are compiled to be used in all possible conditions.
However, after looking this result, perhaps it would be worth to think if Harfbuzz can be compiled by You for saving a waste of disk and memory usage.
Of course, the binary files of Kicad are not affected and the action is totally tranparent for the user: they will work with libraries from MINGW-W64 repository or with your libraries without distinction.
I’m reporting these results with the hope that it could be helpful.
PS: Do you think it would be worth to file an issue for this?