As I am used to produce my PCBs by milling machine, sometime I had the issue with the non-circular holes, generated by KiCad software.
Usually after design is exported from KiCad to gerber file format, I use FlatCAM to generate g-code from gerber data. It is excellent program, except fact it is not able to generate data for non-circular holes.
Therefore I programmed a piece of code (in Visual Studio from Microsoft), which is able to generate such data and can help you to have your PCB as good as possible.
You can download the software itself here:
It is important to have both of the files in one folder to successful import of configuration data during program initialization.